Làm cách nào để tôi dừng httpd chạy trên Mac OS X (10.11) El Capitan Server?


28

Tôi đang sử dụng OS X El Capitan với Máy chủ (ứng dụng) được định cấu hình để cho phép tôi truy cập VPN vào mạng gia đình của mình. Thật không may, ứng dụng Máy chủ đã quyết định bắt đầu một loạt các quy trình httpd , hiện đang nghe trên các cổng 80, 443 và các cổng khác, mặc dù cài đặt Máy chủ cho Trang web bị TẮT và không nên khởi động dịch vụ nào trên các cổng này.

Tôi không muốn hoặc không cần các dịch vụ này hoạt động và muốn httpd ngừng hoạt động (hoặc không bắt đầu với). Thật không may, tôi không thể giết các tiến trình đó (chúng chỉ cần khởi động lại ngay lập tức) và tôi cũng không thể kiểm soát chúng thông qua 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

Khi thử:

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

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

Vì vậy, làm thế nào để tôi chấm dứt các quá trình đó và giải phóng các cổng đó?

Tôi biết có một tập tin cấu hình cho máy chủ apache ở đây: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Tôi có thể xóa các dòng sau để bỏ chặn các cổng đó, nhưng các quy trình httpd vẫn đang chạy.

listen 80
listen 443

Câu trả lời:


19

Dịch vụ proxy apple là dịch vụ lấy các cổng 80 và 443, vì vậy bạn cần dừng dịch vụ đó.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist

3
Điều này hóa ra chính xác là giải pháp cho tôi. "sudo apachectl stop" chỉ đưa ra lỗi tương tự như launchctl.
Kosmonaut


6

Lệnh này sẽ giết tất cả:

sudo killall httpd

Họ sẽ bắt đầu lại vào lần khởi động tiếp theo.


3
Tôi cũng không downvote, nhưng nó có thể liên quan đến thực tế là tôi đã đề cập rằng không có lý do gì để giết các quy trình, vì chúng đang được khởi động lại tự động.
Chris

thật đáng ngạc nhiên, sau khi thử mọi phương pháp khác ... phương pháp này đã hoạt động ... vì một lý do nào đó, daemon vẫn sống sau khi được dỡ xuống và giết chết mọi cách, cách này đã làm sạch nó
Ray Foss
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.