簡體   English   中英

MAMP-Mac OS X

[英]MAMP - Mac OS X

我一段時間以來一直在端口8888上使用MAMP,因此我在瀏覽器中訪問網站的方式如下: http://localhost:8888/website

但是,我剛剛安裝了Wordpress Multisite,因此希望切換到端口80,以允許我正常訪問網站並擁有子目錄,例如http://website.co.uk : http://website.co.uk : http://subdomain.website.co.uk

我已經在MAMP中設置了vhosts文件,並在MAMP首選項中將端口更改為80,但是自從執行此操作以來,MAMP不會啟動Apache。 MySQL啟動正常,但Apache無法啟動。

我試圖通過在終端中運行以下命令來手動啟動apache:

sudo ./startApache.sh

但是每次執行此操作時,都會出現以下錯誤:

(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

如果我切換回端口8888,則MAMP將再次起作用。 誰能指出我正確的方向以解決此問題?

sudo lsof | grep LISTEN

launchd      1           root   11u     IPv6  0x8754c7c05566afd       0t0      TCP *:afpovertcp (LISTEN)
launchd      1           root   12u     IPv4  0x8754c7c0556bae5       0t0      TCP *:afpovertcp (LISTEN)
launchd      1           root   30u     IPv6  0x8754c7c0556671d       0t0      TCP localhost:ipp (LISTEN)
launchd      1           root   31u     IPv4  0x8754c7c0556b3ad       0t0      TCP localhost:ipp (LISTEN)
httpd       21           root    4u     IPv6  0x8754c7c0556633d       0t0      TCP *:http (LISTEN)
kdc         43           root    6u     IPv6  0x8754c7c05565f5d       0t0      TCP *:kerberos (LISTEN)
kdc         43           root    8u     IPv4  0x8754c7c0556a53d       0t0      TCP *:kerberos (LISTEN)
httpd      191           _www    4u     IPv6  0x8754c7c0556633d       0t0      TCP *:http (LISTEN)
Dropbox    293            Ell   19u     IPv4  0x8754c7c0a8db6cd       0t0      TCP *:17500 (LISTEN)
Dropbox    293            Ell   25u     IPv4  0x8754c7c0a8da125       0t0      TCP localhost:26164 (LISTEN)
mysqld     454            Ell   10u     IPv4  0x8754c7c0ba8085d       0t0      TCP *:ddi-tcp-2 (LISTEN)

更新:

ps 21
PID   TT  STAT      TIME COMMAND
21   ??  Ss     0:00.39 /usr/sbin/httpd -D FOREGROUND

謝謝

您可以使用lsof檢查哪些進程正在偵聽哪些端口:

sudo lsof | grep LISTEN

查找在*:http等上偵聽的進程。

更新:

您會看到一個進程已經在使用*:http ,它是一個名為pid為21的httpd進程httpd很可能是Apache進程。 因此,我想您的系統已經在某個位置安裝了Apache(這可能會自動啟動),或者由於某些原因MAMP Apache已經在運行。

嘗試運行ps 21以獲取有關該過程的更多信息。 在安裝了MAMP的系統上,我看到以下消息:(65696是系統上httpd的pid)。

mattias@waderbook:~$ ps 65696
  PID   TT  STAT      TIME COMMAND
65696   ??  Ss     0:00.57 /Applications/MAMP/Library/bin/httpd -k start

如果看到/usr/sbin/httpd ,則可能是與OS X捆綁在一起的Apache正在運行。 嘗試通過轉到“首選項”中的“共享”來禁用它,並禁用“ Web共享”。

就我而言,在lsof上使用grep時找不到任何東西。

我一直在尋找幾個小時來查找正在創建的Listen指令重疊的部分,但沒有結果。

因此,我使用了一個快速修復程序,那就是將httpd.conf中的Listen端口更改為8000。

Listen 8000

更改它,然后重新啟動apache2。 應該做到這一點...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM