Вопрос или проблема
Я пытаюсь установить второй сайт WP на сервере Ubuntu 16 с Nginx. Я успешно установил WordPress по результатам моего сервера, но я по-прежнему получаю только домашнюю страницу Nginx. Я подумал, что это может быть связано с тем, что группа владельца была пользователем, поэтому я изменил группу владельца на веб-файлах на www-data:
microurb@vps148370:/var/www/dancortes.press/public_html$ ls -l
total 192
-rw-r--r-- 1 microurb www-data 0 Oct 5 15:36 index.html
-rw-rw-r-- 1 microurb www-data 418 Oct 8 17:07 index.php
-rw-rw-r-- 1 microurb www-data 19935 Oct 8 17:07 license.txt
-rw-rw-r-- 1 microurb www-data 7413 Oct 8 17:07 readme.html
-rw-rw-r-- 1 microurb www-data 5447 Oct 8 17:07 wp-activate.php
drwxrwxr-x 9 microurb www-data 4096 Oct 8 17:07 wp-admin
-rw-rw-r-- 1 microurb www-data 364 Oct 8 17:07 wp-blog-header.php
-rw-rw-r-- 1 microurb www-data 1627 Oct 8 17:07 wp-comments-post.php
-rw-rw-r-- 1 microurb www-data 2599 Oct 8 17:17 wp-config.php
-rw-rw-r-- 1 microurb www-data 2853 Oct 8 17:07 wp-config-sample.php
drwxrwxr-x 5 microurb www-data 4096 Oct 8 17:19 wp-content
-rw-rw-r-- 1 microurb www-data 3286 Oct 8 17:07 wp-cron.php
drwxrwxr-x 18 microurb www-data 12288 Oct 8 17:07 wp-includes
-rw-rw-r-- 1 microurb www-data 2422 Oct 8 17:07 wp-links-opml.php
-rw-rw-r-- 1 microurb www-data 3301 Oct 8 17:07 wp-load.php
-rw-rw-r-- 1 microurb www-data 34327 Oct 8 17:07 wp-login.php
-rw-rw-r-- 1 microurb www-data 8048 Oct 8 17:07 wp-mail.php
-rw-rw-r-- 1 microurb www-data 16200 Oct 8 17:07 wp-settings.php
-rw-rw-r-- 1 microurb www-data 29924 Oct 8 17:07 wp-signup.php
-rw-rw-r-- 1 microurb www-data 4513 Oct 8 17:07 wp-trackback.php
-rw-rw-r-- 1 microurb www-data 3065 Oct 8 17:07 xmlrpc.php
Тем не менее, я получаю только домашнюю страницу Nginx. Я перезапустил Nginx несколько раз.
Я проверил журналы доступа и ошибок, и всё, что я вижу, это ошибка кода на первом сайте.
Я проверил журналы доступа nginx:
73.197.81.232 - - [08/Oct/2017:19:10:55 -0400] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
73.197.81.232 - - [08/Oct/2017:19:10:56 -0400] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
Журналы ошибок содержат ошибку, связанную с кодом на моем первом сайте:
PHP message: PHP Notice: Undefined index: success in /var/www/microurb.com/public_html/index.php on line 295" while reading upstream, client: 71.168.149.103, server: microurb.club, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "microurb.club"
2017/10/08 19:10:01 [alert] 22798#22798: *25 open socket #11 left in connection 3
2017/10/08 19:10:01 [alert] 22798#22798: aborting
2017/10/08 19:10:52 [alert] 23108#23108: *3 open socket #3 left in connection 3
2017/10/08 19:10:52 [alert] 23108#23108: aborting
Я действительно не знаю, что искать дальше. Почему я не могу увидеть сайт WP?
Я решил выполнить nginx -t и получил следующее:
microurb@vps148370:/etc/nginx/sites-available$ nginx -t
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2017/10/08 19:41:25 [warn] 23341#23341: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2017/10/08 19:41:25 [emerg] 23341#23341: open() "/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
Теперь я не стал намного более просветленным относительно того, что происходит.
Вам нужно удалить файл index.html. Как только он будет удален, index.php будет работать, и WP загрузится.
Итак, после нескольких часов изучения файлов конфигурации, я решил попробовать то, что кто-то советовал мне не делать, а именно изменить server_name с dancortes.press на www.dancortes.press. Когда я это сделал, проблема была решена. Теперь я могу просматривать файлы ядра WordPress 4.8, которые я скачал.
Я узнал, что причина, по которой мне не советовали это делать, заключалась в том, что на стороне DNS понимали, что это перенаправление, но это не так. Это конфигурация CNAME на стороне DNS.
Ответ или решение
Чтобы решить проблему с отображением домашней страницы Nginx вместо установленного сайта WordPress на сервере Ubuntu 16, необходимо обратить внимание на несколько ключевых моментов. Ваша ситуация достаточно распространена, и есть несколько причин, которые могут это вызвать. Рассмотрим их подробнее.
1. Проверка файлового контента
Как вы упомянули, у вас установлен файл index.html
в директории /var/www/dancortes.press/public_html
, который, скорее всего, и вызывает отображение домашней страницы Nginx. Сервер в первую очередь будет искать файл index.html
, поэтому необходимо удалить его, чтобы Nginx мог перейти к исполнению index.php
, который является начальной точкой для WordPress.
Шаг:
sudo rm /var/www/dancortes.press/public_html/index.html
2. Конфигурация Nginx
Следующим шагом является проверка конфигурации вашего виртуального хоста в Nginx. Необходимо убедиться, что параметр server_name
соответствует вашему домену.
Если вы изменили server_name
с dancortes.press
на www.dancortes.press
, убедитесь, что:
- DNS-записи корректны и указывают на тот же IP-адрес.
- У вас настроено перенаправление (CNAME) для
www.dancortes.press
.
Пример конфигурации:
server {
listen 80;
server_name dancortes.press www.dancortes.press;
root /var/www/dancortes.press/public_html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
После внесения изменений не забудьте перезапустить Nginx:
sudo systemctl restart nginx
3. Проверка прав доступа
Как вы отметили, вы изменили группу владельца файлов на www-data
, что является правильным шагом. Однако также проверьте права доступа, чтобы убедиться, что Nginx может читать файлы.
Проверка и установка прав:
sudo chown -R microurb:www-data /var/www/dancortes.press/public_html
sudo find /var/www/dancortes.press/public_html -type d -exec chmod 755 {} \;
sudo find /var/www/dancortes.press/public_html -type f -exec chmod 644 {} \;
4. Ведение логов и отладка
Обратите внимание на сообщения в логах Nginx и PHP. В вашем случае вы получили сообщения об ошибках при выполнении кода на первом сайте. Убедитесь, что происходит должная обработка ошибок без конфликтов на сервере.
5. Тестирование конфигурации
Вы указали, что команда nginx -t
вернула предупреждения о разрешениях. Это может означать, что у Nginx нет прав на доступ к логам или pid-файлу. Проверьте разрешения папки /var/log/nginx
и убедитесь, что они установлены правильно.
Проверка разрешений:
sudo chown -R www-data:www-data /var/log/nginx
Заключение
Проблема с тем, что вместо вашего сайта отображается домашняя страница Nginx, может быть вызвана несколькими факторами, но основные действия, которые следует предпринять, это удаление файла index.html
, правильная конфигурация server_name
, корректные права доступа и тестирование конфигурации Nginx. Следуя данным рекомендациям, вы должны успешно настроить ваш сайт WordPress на сервере Nginx. Если проблемы продолжаются, возможно, стоит также проверить настройки DNS и кэш браузера.