这是我在 Ubuntu 上全新安装的 nginx,因此我没有弄乱太多,而且大多数教程都来自 DigitalOcean 网站。我设置了两个服务器块(第一个是默认服务器块,第二个用于我的网站),但由于某些问题,即使我调用位于辅助服务器块中的网站,默认服务器块仍会继续加载。我的网站是 yoalfaaz.com,如果我尝试加载它,则会加载来自默认服务器的文件。
更清楚一点,的文件/var/www/html
一直在加载,相反,我想加载的文件/var/www/yoalfaaz.com/html
。
这是sites-available/yoalfaaz.com
文件
server {
listen 80 ;
listen [::]:80 ;
root /var/www/yoalfaaz.com/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name yoalfaaz.com www.yoalfaaz.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
这是 error.log 消息
2018/02/18 06:47:02 [error] 28275#28275: *1656 directory index of "/var/www/html/" is forbidden, client: 47.89.22.200, server: [IP for server], request: "GET / HTTP/1.0", host: "www.yoalfaaz.com", referrer: "https://www.yoalfaaz.com"
我也使用过该命令nginx -t
,一切正常。那么你能告诉我这里的问题是什么吗?
答案1
在创建指向 中的文件的符号链接时出现了一些问题。因此,我从命令中sites-enabled
删除了 中的文件sites-enabled
sudo rm /etc/nginx/sites-enabled/yoalfaaz.com
然后我再次使用命令创建符号链接
sudo ln -s /etc/nginx/sites-available/yoalfaaz.com /etc/nginx/sites-enabled/
一切又恢复正常了。