如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔的mac系统,apache其实不工作好几次了。每次坏掉之后,都是重装系统了事。不过,最近,apache又不工作了,试图使用brew重装apache,甚至nginx,都有着类似的问题。

这些问题,具体表现有:
1:用brew services start nginx,没有反应。
2:用sudo httpd或者sudo nginx,是正常的。
3:默认是8080端口,正常工作。改到80端口后,不正常。

在探索这些可能的解决方案的时候,最终得出的结论是,一是卸载不干净,二是与权限有关系。按照惯例,先说解决方法,再说解决过程。方法其实很简单。

apache

brew uninstall --ignore-dependencies httpd24    #如果是用brew安装过的话,就需要这句话
sudo rm -rf /usr/sbin/httpd               #命令行里面的命令位置
sudo rm -rf /usr/sbin/apachectrl          #命令行里面的命令位置
sudo rm -rf /etc/apache2/                  #系统自带的配置位置
sudo rm -rf /usr/local/etc/apache2/       #brew安装的配置位置
launchctl unload /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist   #不一定用得上
launchctl unload /Library/LaunchAgents/homebrew.mxcl.httpd24.plist    #不一定用得上
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.httpd24.plist
brew install httpd24                 #会重新创建上述删除的文件
vi /usr/local/etc/apach2/httpd.conf  #修改端口80,增加php扩展之类的
sudo chown root:wheel /usr/local/cellar/httpd24/2.4.27/bin/httpd   #重点
sudo chmod u+s        /usr/local/cellar/httpd24/2.4.27/bin/httpd     #重点
sudo chown root:wheel /usr/local/cellar/httpd24/2.4.27/bin/apachectl   #重点
sudo chmod u+s        /usr/local/cellar/httpd24/2.4.27/bin/apachectl     #重点
sudo chown root:wheel /usr/local/etc/apache2/     #可能用的到

nginx

brew uninstall --ignore-dependencies nginx    #如果是用brew安装过的话,就需要这句话
sudo rm -rf /usr/local/etc/nginx/             #brew安装的配置位置
launchctl unload /Library/LaunchDaemons/homebrew.mxcl.nginx.plist   #不一定用得上
launchctl unload /Library/LaunchAgents/homebrew.mxcl.nginx.plist    #不一定用得上
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
brew install nginx                 #会重新创建上述删除的文件
vi /usr/local/etc/nginx/nginx.conf  #修改端口80之类的

重点中的重点,如下,注意替换nginx的版本号。

sudo chown root:wheel /usr/local/Cellar/nginx/1.12.1/bin/nginx      #重点
sudo chmod u+s /usr/local/Cellar/nginx/1.12.1/bin/nginx             #重点
sudo chmod root:wheel /usr/local/etc/nginx/     #可能用的到

mac系统的80端口的那些事 - port80

mac系统的80端口的那些事(图2-1)

整体的思路

清除原有的残余文件,系统加载。修改端口80后,对应的程序需要更高的权限。据说只要是1024下面的端口监听,都需要特殊的权限。而brew并没有考虑这个问题,而且卸载的时候,并不会删除配置文件。这可能就是症结所在。
当然,上述路径位置,在你读到这篇文章的时候,可能发生了变化(比如版本号)。所以,大家就领会精神就行了。

mac系统的80端口的那些事 - 012

mac系统的80端口的那些事(图2-2)

由苏南大叔提供的,apache相关的文章可以点击这里: https://newsn.net/tag/apache/
nginx相关的文章可以点击这里: https://newsn.net/tag/nginx/

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

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

打赏领取小礼物

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/mac-port-80.html
上一篇好文:mac系统切换php,apache对接php-fpm
下一篇好文:如何测试apache和nginx的配置是否正确

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~