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

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

3
Ini ternyata menjadi solusi tepat bagi saya. "sudo apachectl stop" hanya memberikan kesalahan yang sama dengan launchctl.
Kosmonaut


8

Perintah ini harus membunuh mereka semua:

sudo killall httpd

Mereka akan mulai lagi pada boot berikutnya.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.