macos - Nginx : Cannot listen on port 80 . .. 只有端口 8080 在 OSX 10.11 上工作

标签 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
server {
    listen       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 无法打开页面
但是我仍然可以请求 http://example.local:8080
很奇怪.... Nginx 正在听 80 ... 我能做什么?

最佳答案

您只需在低于 1024 的端口上以 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 上运行。

关于macos - Nginx : Cannot listen on port 80 . .. 只有端口 8080 在 OSX 10.11 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35230971/

相关文章:

macos - 我如何使用 Mac OS X(和 UNIX)命令行工具,如带有 UTF-16 文件的 grep?

objective-c - 获取正在运行的应用程序列表(从 Applescript 翻译?)

Nginx 重定向规则没有影响

ruby-on-rails - 彪马/丢失的日志

php - 重建后文件更改未反射(reflect)在Docker镜像中

objective-c - 我如何获得 Mac OSX 上的窗口标题列表?

macos - 无法导入pygame

nginx: [emerg] "location"指令在/etc/nginx/nginx.conf:16 中是不允许的

macos - 将 CMake 移植到 OS X Yosemite

apache2 - Apache 中的 nginx 相当于 Worker 和 prefork MPM 是什么?