苏南大叔的mac最近自动升级成了macos mojave,然后发现nginx不能正常工作了。经过了排查发现,是系统升级后,apache的配置文件被重新覆盖,导致80端口不能被nginx占用到。这是一个冷笑话...

mac 系统升级后,nginx 不能正常工作的解决方案 - system-version
mac 系统升级后,nginx 不能正常工作的解决方案(图4-1)

本文测试环境:mac10.14

现象描述

经过检测,nginx的配置文件无误,但是nginx -s reload却报错。错误如下:

mac 系统升级后,nginx 不能正常工作的解决方案 - nginx_error
mac 系统升级后,nginx 不能正常工作的解决方案(图4-2)

访问本机80端口,出现的是apache的界面,而不是nginx的界面,下面的是苏南大叔提供的对比图。

mac 系统升级后,nginx 不能正常工作的解决方案 - nginx-apache-ui
mac 系统升级后,nginx 不能正常工作的解决方案(图4-3)

解决方案

解决方案也很简单,就是修改apache的配置文件httpd.conf,路径是:/etc/apache2/httpd.conf。找到大概第56行,把80字样改成8080即可。当然,8080也可以换成你喜欢的其他端口,只要不是80即可。

<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
    Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
    Listen 8080
</IfDefine>

解除了apache80端口的占用,重启系统后,nginx就可以正常接管80了。

mac 系统升级后,nginx 不能正常工作的解决方案 - apache
mac 系统升级后,nginx 不能正常工作的解决方案(图4-4)

您可能需要这条命令:

sudo apachectl restart

关联链接

事实上,本文能够配置成功的关键因素还有:在系统升级前,nginx是能够正常使用80端口的。那么读者朋友可能还需要的经验文章如下:

《mac系统nginx和apache如何共存?》

总结

mac系统下,nginx如果想要占用80端口,还是真心困难重重的。大家加油!

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   mac    nginx

本站的忠实读者小伙伴,正在阅读下面这些文章: