Mac下Nginx 502【Nginx of mac采坑】

Uiaoin 2019-09-30 5478

这个过程很曲折,一步一步来(马上会暴露菜鸟的水平[允悲]

要不我先说结论:我这里出现Nginx 502的原因就是php-fpm没有启动。

过程是这样的,跟往常一样,为了配置PHP开发环境,需要安装Nginx(Apache也可以,我就是喜欢Nginx)、MySQL、PHP,其中PHP自带7.1.23,就不管了。

1、安装HomeBrew,不用代理贼慢,在翻墙上面就摔了一跤,详见Mac终端走代理,执行以下命令安装HomeBrew:

  1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、下一步安装Nginx和MySQL,这里MySQL用5.7,别问为什么,我也不知道,反正5.7很牛逼,命令行走起:

  1. #安装Nginx
  2. brew install nginx
  3. #安装MySQL
  4. brew install mysql@5.7

一般顺利,Nginx+MySQL+PHP+我的电脑,万事俱备只欠东风(配置本地域名就不说了哈,创建domain.conf加hosts就OK了)。

接下来就是菜鸡日志啦,所有准备做好之后,在浏览器回车本地域名,尴尬的出现了:

Nginx 502 Bad Gateway 

然后命令行习惯性地:

  1. nginx

Nginx立马甩了我五六巴掌:

  1. ...
  2. nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
  3. ...

只能网上查了,大佬们各抒己见:

80端口被占用了,kill以下进程;
php.ini里面啥东西太小,撑不起Nginx的野心;
nginx.conf的超时时间不对;
缓存配置太小;
php-fpm的问题(大佬就是大佬,这个是我这种情况的正解)

然后一个个原因都试了一遍(耗时两个下班的晚上),终于发现是php-fpm没启动,下面就是成功之路了[笑cry]

然后命令行:

  1. sudo php-fpm #这里用sudo吧,不用好像会出问题,不会出问题你就用,sudo后面再讲讲经验

报错:打不开配置文件  ==》 打不开日志文件。

解决:到相应的地方创建相应的文件(一般都会有类似.example文件的哈)

解决了报错,走起:

  1. sudo php-fpm

终于见到了期待已久的画面!!!

然后谈谈sudo的事情和前面“nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)”的事情:

因为刚开始都没有用sudo,使用命令nginx的时候会报上面这个地址已经被使用的错误,感觉是Nginx自己已经在启动了,在执行地址肯定已经在使用了(当然这只是搞了这么长时间的感觉,没有科学依据,哪位大佬了解烦请评论区留一下,或者直接联系QQ都可以,先谢过了!)

还有一点:等上面的弄好后,会出现404,这个就简单了,可能是Nginx本地域名配置文件中:

  1. location ~ \.php$ {
  2. root /Users/uiaoin/wwwroot/api.me/public;
  3. fastcgi_pass 127.0.0.1:9000;
  4. fastcgi_index index.php;
  5. fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  6. include fastcgi_params;
  7. }

/scripts给改为$document_root就好了!

就到这里了啊,不总结了,Nginx 502的情况也像各位大佬说的一样很多,博主碰到的给大家做个参考,人生很短,少走弯路哈!

加载更多