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