技术解析

Nginx 如果端口设为 80 就不行,其他都可以,怎么破
0
2021-05-25 15:28:33
idczone
server {
    listen               80 default_server;
    root                 "/Users/tanteng/website";

    access_log           /Applications/MAMP/logs/ngin美国服务器x_access.log;
    error_log            /Applications/MAMP/logs/nginx_error.log debug;

    location / {
        index            index.html index.php;
    }

使用别人做的集成环境就不要乱改了。。。删了从 brew 重新装新的 nginx 吧鬼知道那个 MAMP 里有些什么

不太懂,纯猜测, MAMP 会不会是还含 Apache 啊,它占了 80 端口。

reusable connection 是不是端口被占用了?

netstat -an | grep "80"
kill xxx

很大几率是端口被占用了

lz 没事开 debug 干嘛。。这段 debug 完全没有问题
问题在你的 backend 。。看看有没有其他的 host ,或者 include 了其他的文件。。
一般看到 50x ,请 check 转发, nginx 自身只带了静态文件的 handler
一般要么是 proxy_pass 炸了 要么是 fcgi_proxy 炸了

很简单运营商把 80 端口封了

两个可能
你不是 root
别的程序占了 80


MAMP 自带 apache 和 nginx ,可以切换和指定端口,两者切换都没问题, apache 的可以用 80 ,但是 nginx 指定 80 就不行了

mac ? 80 需要 sudo

既然得到了 502 说明 80 端口监听是没问题的啊!
如果端口占用,根本 nginx 都无法启动
楼主应该看看错误日志 看看什么问题

php 问题

你的 NGINX 的 GATEWAY 可能是 APACHE 而不是 PHP-FPM ,把你的 server{}里面的东西都粘出来应该就知道了。如果是 APACHE ,很可能通过 80 端口监听的,自然出现 502 GATEWAY ERROR 。
题外话,装个虚拟机,用 LINUX 跑服务器吧。 OSX 已经是儿童玩具了,你在上面做 WEB 开发环境,每次 OSX 升级,你都要头疼一次。

netstat ? 不是应该用 lsof -i:50 来查看?

数据地带为您的网站提供全球顶级IDC资源