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 来查看?