Nginx仅显示欢迎页面

Nginx仅显示欢迎页面,nginx,Nginx,我正在尝试设置一个简单的虚拟主机,只提供静态文件。问题是,将浏览器指向(在本例中)jorum.dev会显示默认的nginx欢迎页面,而不是jorum.dev/index.html Nginx是使用Mac OS X Mountain Lion上的自制软件安装的 主人 乔拉姆·德夫 nginx.conf nginx.conf中缺少包含项 include /usr/local/etc/nginx/sites-enabled/*; debian/ubuntunginx软件包附带了一个默认的站点,可以接

我正在尝试设置一个简单的虚拟主机,只提供静态文件。问题是,将浏览器指向(在本例中)
jorum.dev
会显示默认的nginx欢迎页面,而不是
jorum.dev/index.html

Nginx是使用Mac OS X Mountain Lion上的自制软件安装的

主人 乔拉姆·德夫 nginx.conf
nginx.conf中缺少包含项

include /usr/local/etc/nginx/sites-enabled/*;

debian/ubuntunginx软件包附带了一个默认的站点,可以接管默认的主机调度。只需删除默认链接,它就会加载您的站点


另一个问题是,debian/UbuntuNginx包在默认站点中还为默认服务器提供了一个默认索引值,如下所示:

index index.html index.htm index.nginx-debian.html;
我已经让文件
index.nginx debian.html
显示在我的www根目录中,它优先于cgi位置


nginx有一个详细的测试模式,可以用来转储nginx解析的整个配置,您可以根据自己的期望进行健全性检查

nginx -T

对于其他来此线程并已尝试@freestyler的答案,但仍获得默认nginx屏幕的人,请尝试将位于
/etc/nginx/sites available/
中的
default
文件重命名为类似
default.txt
。我建议不要删除该文件,因为它可以帮助您解释在下一个
.conf
文件中要做什么。

对我来说,是因为我忘记了将站点绑定到IPv6,而我的电脑处于IPv6连接状态

我只是添加了
listen[:]:80
到服务器对象,之前我只有
listen80


这使得Nginx在使用IPv6进行连接时也会显示站点。

将以下内容添加到位置块:

index index.html index.htm
例如:

location / {
    …
    index  index.html index.htm;
 }

对我来说,问题是我最初将网站放在子域中,当重新生成certbot证书以使其在新域中也能工作时,我没有在服务器部分添加新的域名重定向,为我添加如下修复:

server {
    if ($host = domain_1.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = domain_2.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    server_name domain_1.com domain_2.com;
    listen 80;
    return 404; # managed by Certbot
}

/etc/nginx/sites available//etc/nginx/sites enabled/中删除default.config,然后重新启动nginx

rm /etc/nginx/sites-available/default
rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx

也许不相关,但希望能帮助人们了解这个问题

有时人们忘记在
/etc/nginx/sites enabled
中添加符号链接,指向
/etc/nginx/sites available
中的站点配置

比如:


ln-s/etc/nginx/sites available/mysite.com/etc/nginx/sites enabled/mysite.com

您将'jorum.dev'块放在哪里?在nginx.conf?否,它位于
/usr/local/etc/nginx/sites available/jorum.dev
,符号链接到
/usr/local/etc/nginx/sites enabled/jorum.dev
。谢谢!在添加include之后,我得到了一个常规的404错误,这反过来让我尝试写出根目录的完整路径,而不是对主文件夹使用
~
。现在可以工作了。将include放在哪里?对于那些不太熟悉unix的用户,可以这样做吗?$mv site enabled/site-enabled_backup/@greenouse IIRC站点-*位置在
/etc/nginx/nginx.conf
中声明,我认为只要nginx查找配置的位置仍然存在(如果它关心的话),就可以像您一样移动位置。您可以随时运行
sudo nginx-t
检查您的更改是否有效。我所做的只是
取消网站的链接启用/默认值
。谢谢-这节省了我几个小时的研究时间。默认情况下,从可用站点到启用站点的sym链接是捕获我的反向代理设置。删除sym链接有效。我花了3天时间来解决这个问题,你的解决方案帮我节省了数周的谷歌搜索时间。非常感谢,非常好。格雷西亚斯。
location / {
    …
    index  index.html index.htm;
 }
server {
    if ($host = domain_1.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = domain_2.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    server_name domain_1.com domain_2.com;
    listen 80;
    return 404; # managed by Certbot
}
rm /etc/nginx/sites-available/default
rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx