nginx 启动但没有监听 80 端口

nginx starting but isn't listening on port 80

我有一个 ubuntu 服务器 14.04 VPS 目前有 apache2 服务静态网站。我正在切换到 nginx 来提供几个 nodejs 站点。

我安装了nginx

$ nginx -v
nginx version: nginx/1.4.6 (Ubuntu)

我正在使用默认配置

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

我确认 apache2 不会 运行 导致问题

$ sudo service apache2 status
 * apache2 is not running

我启动 nginx 并确认它的状态

$ sudo service nginx status
 * nginx is running

但是点击 sudo netstat -natpsudo fuser 80/tcp 都没有任何反应。

我在 /etc/nginx/sites-available/mydomain.tld 中配置了我的站点,然后链接到启用站点。

仍然没有。

在写问题和重现步骤的过程中,我弄清楚了问题所在。

我在 /etc/nginx/sites-available/mysite.tld

中创建并编辑了我的站点可用服务器

然后为了启用该站点,我在目录 /etc/nginx/ 中,当我处于疲倦状态时,通过 运行 ln -s sites-available/mysite.tld sites-enabled/mysite.tld 创建了 link 到 sites-enabled 文件夹中.

直到今天早上我才意识到我创建了一个错误的 link,因为我无法 vim 进入支持站点的 linked 版本。

在错误的 link 上执行 rm 然后对整个事情使用绝对路径 ln -s /etc/nginx/sites-available/mysite.tld /etc/nginx/sites-enabled/mysite.tld 然后随后重新启动 nginx 现在显示它正在按预期侦听端口 80。

tl-dr; 有时候最好早上睡觉再看看