Ошибка отображения Nginx (13: В доступе отказано) при попытке доступа к новому сайту

Я пытаюсь настроить свой собственный веб-сервер, чтобы узнать больше об администраторе сервера.

Я решил, что хочу обслуживать файлы каждого сайта из папки public_html внутри каталога users / home.

Я установил Nginx, отредактировал nginx.conf и изменил имя пользователя / группу на nginx.

Я добавил нового пользователя для нового сайта и изменил файл vhosts, чтобы он выглядел как так;

server {
    listen         80;
    listen         [::]:80;
    server_name    website.com www.website.com;
    root           /home/website/public_html;
    index          index.html index.htm index.php;

    location / {
      try_files $uri $uri/ =404;
    }

    location ~* \.php$ {
    fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Но когда я пытаюсь попасть на сайт, он возвращает ошибку 404 Not Found.

Когда я проверяю журнал ошибок, я вижу следующие ошибки:

2019/01/02 19:49:45 [crit] 18248#0: *1 stat() "/home/website/public_html/" failed (13: Permission denied)

Есть шанс, что кто-то сталкивался с этим раньше и мог бы сказать мне, как с этим справиться?

Я осмотрелся и увидел несколько сообщений о getenforce, но когда я запускаю его, он говорит Disabled .

Я использую CentOS7, если это

Ура,

0
задан 2 January 2019 в 12:10
3 ответа

Это разрешение вашего домашнего каталога запрещает доступ к nginx.

Попробуйте:

ls -ld /home/website

затем

setfacl -R -m u:nginx:rwx /home/website

Или

chown -R nginx:nginx /home/website
chmod 655 /home/website
0
ответ дан 24 November 2019 в 01:20

Следуя руководству с этого веб-сайта, я сделал это за меня: https://caradede.blogspot.com/2017/12/how-to-solve-13-permission-denied.html

# setsebool -P httpd_enable_homedirs 1
# setenforce 0
# systemctl restart nginx
# systemctl daemon-reload
2
ответ дан 19 February 2020 в 05:44

Решением для меня было установить /home/user/public_html разрешения на 755. По умолчанию он создавался с разрешениями 751. Это блокировало возможность пользователя nginx «прочитать» его. Некоторые панели веб-хостинга, такие как VestaCP, CPanel и другие, могут непреднамеренно сделать это при добавлении нового сайта через свой интерфейс.

Решение: sudo chmod 755 ~/public_html (настройте путь к вашей папке public_html)

1
ответ дан 25 October 2020 в 20:23

Теги

Похожие вопросы