自从我在我的网站启用/默认配置中通过SSL设置HTTPS后,Nginx正在从/usr/share/www/html
而非/var/www/html
读取。在我的任何文件中都没有/usr/.../html
的引用(当我使用grep -r
时),所以我不知道为什么会发生这种情况。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name MY_WEBSITE.TLD; # Before you ask, yes
return 302 https://$server_name$request_uri;
root /var/www/html;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
index index.html index.htm index.nginx-debian.html index.php;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
显然我已经定义了根。为什么不起作用?
答案 0 :(得分:1)
您的配置描述了2个独立的服务器 - 而不是一台服务器上的2个端口。显然,您可以将它们包含在sites-available/
中的单个文件中,但从技术上讲,它们是不同的独立服务器,您可以将每个server
块拆分为不同的sites-available/
配置文件
请记住,检查每台服务器的内容。端口80上有一台服务器,其中指定了root
。一切都很好。
您在端口443上有另一台服务器。这是一个完全独立的服务器,而不是另一个端口上的同一台服务器。它没有指定root
,因此nginx将回退到某个默认根位置,由编译时开关或特定于发行版的变量as described in this SO question确定。
答案 1 :(得分:0)
Aaaaand这一切都回到我指定php7.0-fpm的错误目录。因为它当然有!感谢@ Do not Panic和@Keven_Kinsey帮助我。它最终加载正确。