背景:升級了新的 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