Я только что получил новый сервер в DigitalOcean и хочу попробовать кое-что еще. Я хочу запустить сайт на WordPress, поэтому я следую первым 1-3 шагам отсюда:https://deliciousbrains.com/hosting-wordpress-yourself-nginx-php-mysql/. Сначала все идет хорошо, и мне удалось установить WordPress. К сожалению, сейчас на моем сайте ошибка 403 Forbidden.
Я на Ubuntu 14.04 x64. Я уже застрял на некоторое время и до сих пор не имею ни малейшего представления о том, что происходит. Я даже пытался удалить Nginx и переустановить, все равно то же самое.
Вот мой файл конфигурации:
пользователь Сильвия; рабочие_процессы 1; pid /run/nginx.pid; события { рабочие_соединения 1024; # multi_accept включен; } http { ## # Базовые настройки ## отправить файл; tcp_nopush вкл.; tcp_nodelay включен; keepalive_timeout 15; types_hash_max_size 2048; # server_tokens выключены; клиентский_макс_размер_тела 64м; # server_names_hash_bucket_size 64; # имя_сервера_в_перенаправлении выключено; включить /etc/nginx/mime.types; default_type приложение/octet-stream; ## # Настройки ведения журнала ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Настройки Gzip ## gzip включен; gzip_disable "msie6"; # gzip_vary вкл; # gzip_proxied любой; # gzip_comp_level 2; # gzip_buffers 16 8k; # gzip_http_версия 1.1; # gzip_types текст/обычный текст/приложение css/приложение json/javascript текст/приложение xml/приложение xml/xml+rss текст/javascript; ## # Конфигурации виртуального хоста ## включить /etc/nginx/conf.d/*.conf; включить /etc/nginx/sites-enabled/*; сервер { прослушивание 80 default_server; имя сервера _; возврат 444; }
Есть идеи?
решение1
Скорее всего, проблема с правами доступа. Дайте разрешение пользователю www-data на доступ к корневому каталогу вашего веб-сайта. Или вы также можете дать право собственности.
chown -R www-data:www-data /path/to/your/directory
решение2
Запрещено означает, что NGINX не может открыть каталог, в котором хранятся файлы.
Файл error_logs NGINX укажет вам точную причину проблемы.
Логи хранятся в /var/logs/nginx/error_log. Просто откройте файл, просмотрите последние строки и посмотрите, какую именно ошибку вы получаете.
В идеале, выполнение chmod 755 для каталога решит проблему.
решение3
У меня тоже была проблема 403, вызванная режимом каталога.
Я установил корневой каталог в качестве домашнего, а режим по умолчанию для домашнего каталога — 600.
Потом я нашел эту статьюhttps://gist.github.com/jhjguxin/6208474, и попробовал изменить корневой каталог на 755, и проблема была решена.
Таким образом, похоже, что разрешения по умолчанию для домашних каталогов пользователей в Ubuntu 12.04 — 700.** Nginx должен иметь разрешение на чтение файлов, которые должны обслуживаться, И разрешение на выполнение в каждом из родительских каталогов по пути от корня до обслуживаемых файлов.**
Вы можете предоставить своему каталогу пользователя эти разрешения, запустив
chmod 701 user_home
Вы также можете использовать разрешение 755, которое является настройкой по умолчанию для домашнего каталога во многих системах.
Каталоги/файлы в корневом веб-каталоге могут принадлежать пользователю www-data или вашему обычному персональному пользователю, если пользователь/группа, от имени которой работает nginx (как определено в nginx.conf), имеет разрешение на ЧТЕНИЕ для всех обслуживаемых файлов и разрешение на выполнение для всех корневых веб-каталогов.
решение4
Если вы просто пытаетесь вывести список содержимого каталога, используйте autoindex on;
следующее:
location /somedir {
autoindex on;
}