Я настраиваю Nginx с PHP 5.3, например, для нескольких веб-сайтов, на которых работает Wordpress. Я только что добавил новый сайт, и он перенаправляется на страницу приветствия по умолчанию. Я не вижу «настоящих» ошибок в журналах.
Вот мой сокращенный nginx.conf:
http {
access_log /var/log/nginx_access.log;
index index.php index.html;
server {
listen 80 default_server;
server_name _;
root /opt/nginx/html;
location / {
}
}
server {
listen 80;
server_name example.com *.example.com;
rewrite ^ $scheme://www.example.com$request_uri? permanent;
}
server {
listen 80;
server_name www.example.com;
root /home/example/example.com;
location / {
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm/example.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Как указано в комментариях, директива listen в серверном блоке определяет его как значение по умолчанию (источник: http://nginx.org/en/docs/http/request_processing.html):
listen 80 default_server;
Следующее объявление означает недопустимое имя сервера (источник: http://nginx.org/en/docs/http/server_names.html) (чтобы он никогда не пересекался ни с одним из ваших действительных доменов):
Server_name _;
Чтобы решить эту проблему, убедитесь, что у вас есть блок сервера с прослушиванием (порт) и server_name (виртуальный хост) - он будет запускаться первым, когда вы переходите от `` более точного к менее точному '', когда вы выполняете сопоставление имен виртуальных хостов в nginx :
Listen 80;
Server_name your-domain-name.com;