我按照本教程使用 Nginx、Gunicorn 和 Ubuntu 设置了 Django 本地服务器:https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-14-04
我在本地网络上对其进行了测试并且运行良好,如果我从网络上的任何计算机访问 192.168.0.101,我就能够看到 Nginx 默认页面,如果我输入 192.168.0.101:8000,我就能够看到我的 Django 应用程序,但是今天我将服务器放在新的本地网络的新位置,并使用新的路由器并再次测试它,我输入了分配的 IP 192.168.0.102:8000 并且 Django 应用程序加载正常,但是然后我尝试访问 192.168.0.102,默认页面来自 Apache2 Ubuntu 默认页面而不是 Nginx 欢迎默认页面,如果我的服务器可以正常使用 Nginx 和 Gunicorn,为什么会发生这种情况?
另外,我可以从任何计算机(Windows、Mac OS X、Mint)使用主机名访问服务器,而无需对其进行配置,但现在我只能通过 WiFi 使用主机名访问,尝试通过以太网连接访问无法解析主机名。
我希望你能帮助我并解释为什么会发生这种情况以及如何解决它。
答案1
根据您提到的参考页面,似乎您已将 Nginx 服务挂载到单个 IP 地址。如果您按照指南操作,则您当前的 Nginx 配置如下:
server {
listen 80;
server_name 192.168.0.101;
...
因此,Nginx 服务正在使用 IP 192.168.0.101 监听端口 80。但是您有一个新的 IP 地址 - 192.168.0.102,因此无法匹配。
默认情况下,Apache 服务将使用所有可用 IP 地址监听端口 80。因此,您获得的是 Apache 的默认页面,而不是 Nginx 的默认页面。
将 Nginx 设置更改为以下设置后应该可以工作:
server {
listen 80;
server_name 192.168.0.102;
....
然后,停止 Apache 服务并重新启动 Nginx 服务:
service httpd stop
service nginx restart
你应该能够再次看到你的 Nginx 网页http://192.168.0.102