背景:升级了新的 mac 操作系统后
有一次想在 mac 启动 nginx 服务,但是发现 80 端口被占用,当时想到使用 ps aux | grep apach,
看看是不是因为启动了 apach,但是发现并没有,但是在浏览器打开 localhost 却可以看到
很奇怪,所以又使用了 ps aux 直接去看看所有正在运行的进程,一条条排查下,到底是哪个服务在运行,
终于找到一条有 www 字样的进程
搜索了下 httpd,原来是 apach。。。
httpd的简介
httpd是一个开源软件,且一般用作web服务器来使用。目前最流行的web服务器软件叫做httpd,httpd还有一个俗称叫apache,Apache是一个软件基金会,httpd也是这个软件基金会的一个项目。在早期的http server就叫做apache,到了http server 2.0以后就改名为httpd了。所以有时候听到apache服务器和httpd服务器其实都是指得是一个意思。
而且默认 apach 在 mac 默认是开机自启动的,且是默认安装在 mac 上的
接下来就是关闭 apach
sudo apachectl stop
相关命令:
关闭随机启动
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
开启随机启动
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
启动apache
sudo apachectl start
重启apache
sudo apachectl restart
其他:
其实也可以通过查看 80 端口的占用情况,来定位问题
sudo lsof -i:80