Bagaimana cara menghentikan httpd yang berjalan di Mac OS X (10.11) El Capitan Server?

30

Saya menggunakan OS X El Capitan dengan Server (aplikasi) dikonfigurasikan untuk memungkinkan saya akses VPN ke jaringan rumah saya. Sayangnya, aplikasi Server telah memutuskan untuk memulai sekelompok httpd proses, yang sekarang mendengarkan pada port 80, 443 dan lain-lain, meskipun pengaturan Server untuk Website adalah OFF dan tidak ada layanan harus dimulai pada port tersebut.

Saya tidak ingin atau memerlukan layanan ini aktif dan ingin httpd ditutup (atau tidak mulai dengan). Sayangnya, saya tidak bisa membunuh proses-proses itu (mereka langsung restart langsung) dan saya tidak bisa mengendalikannya melalui launchctl .

sudo lsof -i :80
httpd   422 root    5u  IPv6 0x7...     0t0  TCP *:http (LISTEN)
httpd   425 _www    5u  IPv6 0x7...     0t0  TCP *:http (LISTEN)

ps u 422
USER   PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
root   422   0.0  0.0  2457156   6136   ??  Ss    5:55PM   0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/log

Saat mencoba:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service

Jadi, bagaimana cara saya menghentikan proses itu dan membebaskan port-port itu?

Saya tahu ada file konfigurasi untuk server apache di sini: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Saya dapat menghapus baris berikut untuk membuka blokir port tersebut, tetapi proses httpd masih berjalan.

listen 80
listen 443
Chris
sumber

Jawaban:

23

Layanan proxy apel adalah layanan yang mengambil port 80 dan 443, jadi Anda harus menghentikannya.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
Zanthra
sumber
3
Ini ternyata menjadi solusi tepat bagi saya. "sudo apachectl stop" hanya memberikan kesalahan yang sama dengan launchctl.
Kosmonaut
19

Anda dapat menghentikannya dengan perintah:

sudo apachectl stop
Przemek Krzysztof Wycisk
sumber
8

Perintah ini harus membunuh mereka semua:

sudo killall httpd

Mereka akan mulai lagi pada boot berikutnya.

stravanato
sumber
3
Saya tidak downvote baik, tetapi mungkin ada hubungannya dengan fakta bahwa saya menyebutkan bahwa tidak ada gunanya membunuh proses, karena mereka sedang restart secara otomatis.
Chris
secara mengejutkan, setelah mencoba setiap metode lain ... yang ini berhasil ... untuk beberapa alasan daemon tetap hidup setelah diturunkan dan dibunuh dengan cara lain, yang ini membersihkannya
Ray Foss