Nginx:无法侦听端口80 ...只有端口8080可以在OSX 10.11上运行

时间:2016-02-05 18:24:01

标签: macos nginx

OSX 10.11 我安装了最新的nginx 1.9.9(来源和编译) 配置文件/usr/local/conf/nginx.conf语法正常

在收听端口8080时没问题我可以请求http://example.local:8080

server {
    listen       8080;
    server_name  example.local;
    root html;

 sudo lsof -i -P | grep -i "80"
 nginx     8254           root   10u  IPv4 0x643a3abbad7bf485      0t0     TCP *:8080 (LISTEN)
 nginx     8392           yves   10u  IPv4 0x643a3abbad7bf485      0t0    TCP *:8080 (LISTEN)

但是当我将端口更改为80时,我无法访问http://example.local:80

=============================================== =     服务器{         听80;         server_name example.local;         root html;

sudo nginx -s reload
nginx     8254           root   10u  IPv4 0x643a3abbad7bf485      0t0    TCP *:8080 (LISTEN)
nginx     8254           root   18u  IPv4 0x643a3abbadbb9485      0t0    TCP *:80 (LISTEN)
nginx     8430           yves   10u  IPv4 0x643a3abbad7bf485      0t0    TCP *:8080 (LISTEN)
nginx     8430           yves   18u  IPv4 0x643a3abbadbb9485      0t0    TCP *:80 (LISTEN)

Safari canot打开页面 但是我仍然可以请求http://example.local:8080

非常奇怪...... Nginx正在聆听80 ......我该怎么办?

2 个答案:

答案 0 :(得分:7)

你可以在下面的端口上运行服务,作为sudo。

随时随地跑:

$ sudo brew services restart nginx

从系统开始:

$ sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
$ sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

请注意,您必须将服务器设置为在配置文件中侦听80,并确保在端口80上没有其他进程正在运行。

答案 1 :(得分:0)

检查防火墙或iptables。

端口80可能被阻止。尝试停止防火墙或iptables服务。

如果被阻止,则添加条目以允许端口80