Nginx 设置服务器给出安装页面

Nginx 设置服务器给出安装页面

我第一次尝试设置 Nginx,按照教程操作后,我发现我得到了 Nginx 的欢迎页面。我删除了 /etc/nginx/nginx.conf 文件中的最后两个包含内容,并添加了以下代码。但是,无论我尝试移动多少次,我都只得到欢迎页面,而不是 htdocs 目录中的页面。

我确信我遗漏了一些简单的东西,但任何指点都会受到赞赏。

server {
                listen          80;
                server_name     domain.com;
                root            /var/www/domain.com/htdocs;
                location ~ \.php$ {
                        try_files $uri =404;
                        fastcgi_pass unix:/var/run/php5-fpm.sock;
                        index index.html index.php;
                }
        }

答案1

从您的评论来看,您似乎正在运行两个 nginx 副本。您可以按照以下方法进行故障排除:

service nginx stop
ps auxwww|grep nginx  # is it still running?

成功停止 nginx 后,请尝试使用本地curl浏览器(而不是 Chrome 或 Safari)进行检查。这将绕过任何缓存/代理,让您更好地了解正在发生的事情。假设您的服务器的公共 IP 是 1.2.3.4。然后在运行 nginx 的同一台服务器上,您可以执行以下操作并检查输出:

curl -XGET http://1.2.3.4:80
curl -XGET http://1.2.3.4:80/test.html

现在您有一些数据并且您可以做一些推论。

案例 A

即使您停止了服务并手动终止了所有残留进程,您仍会获得 nginx 欢迎页面。您可能在错误的服务器上工作,或者 IP 未按预期方式路由。也许它连接到了 CloudFlare 等 CDN,即使服务器关闭,它也会显示最后检索到的页面。

尝试通过 localhost 访问该页面以确认:

curl -XGET http://127.0.0.1:80

案例 B

您必须手动终止 nginx,但一旦这样做,服务器就会停止响应。在这种情况下,您的 nginx 服务定义存在问题,或者以其他方式启动它(supervisord、手动 rc.local 等)。也可能使用了错误的设置文件。

找出启动 nginx 的原因并将其删除,然后使用包管理器通过正常启动脚本重新安装 nginx。

案例 C

停止服务确实有效,但停止后 curl 没有收到响应。在这种情况下,您使用 Chrome/Safari 进行的测试可能受到某些缓存或本地代理的影响。

再次启动服务并利用 curl 进行测试,直到配置文件正确。

相关内容