Потребовалось поднять сервер nginx для нескольких сайтов на wordpress. Сейчас ещё php7 появился, возможно с ним дело. С предыдущими версиями php, проблем не было. Хотя, это может я такой криворукий.
В общем, вместо второго сайта у меня отдаются файлы.
Конфиг первого сайта, он без домена(чисто на ip) и всё работает нормально:
server {
listen [::]:80;
listen 80;
server_name my_IP/site1;
access_log /var/log/nginx/site1.access.log;
error_log /var/log/nginx/site1.error.log;
root /srv/site1;
index index.html index.htm index.php;
location /site1/ {
index index.php;
try_files $uri $uri/ /site1/index.php?$args;
}
charset utf-8;
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
error_page 404 /404.html;
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
location ~ /\. {
deny all;
}
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
}
Конфиг второго сайта. Он практически похожий на первый, но отдаются файлы, вместо открытия сайта.
server {
listen [::]:80;
listen 80;
server_name site2.com;
access_log /var/log/nginx/site2.com.access.log;
error_log /var/log/nginx/site2.com.error.log;
root /srv/site2.com;
location / {
index index.php;
try_files $uri $uri/ /index.php?$args;
}
charset utf-8;
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
error_page 404 /404.html;
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
location ~ /\. {
deny all;
}
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
}
Конфиг default:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /srv;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
#Lets Encrypt
location ~ /.well-known {
allow all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
nginx.conf не трогал, по умолчанию. php-fpm - тоже ничего не трогал после установки.