Jak właściwie wyrejestrować się httpdz uruchamiania przy ponownym uruchomieniu po a sudo wfsctl starti później sudo wfsctl stop?
Tło:
wfsctlto „narzędzie kontroli udostępniania plików WebDAV” wydane wraz z macOS High Sierra. wfsctlznajduje się na /usr/sbin/wfsctl.
W moim przypadku po pierwszej instalacji systemu macOS High Sierra httpddemon Apache początkowo nie wyświetla treści. (Spodziewano się.) Obserwacja, że httpd nie służy, może być obserwowana na różne sposoby, w tym:
- wpisz
localhostw przeglądarce internetowej na tym samym komputerze - wpisz
curl localhostterminal na tej samej maszynie.
curl localhost
# curl: (7) Failed to connect to localhost port 80: Connection refused
Przy pierwszym uruchomieniu wfsctlusługi WebDAV są httpdrównież uruchamiane.
sudo wfsctl start
# ...
sudo wfsctl diagnose
# ... snip ...
# All httpd processes:
# COMM RUSER PPID PID STARTED
# httpd root 1 885 4:18PM
# httpd _www 885 890 4:18PM
Nic dziwnego, że uruchomiono Apache httpd. Chociaż bazowa httpdkonfiguracja Apache również zaczyna obsługiwać zawartość / Library / WebServer / Documents oprócz i niezależnie od jakichkolwiek udziałów WebDAV. W szczególności index.htmltreść jest zwracana za localhostpośrednictwem przeglądarki internetowej lub curl localhostaplikacji Terminal.
curl localhost --verbose
# * Connected to localhost (::1) port 80 (#0)
# > GET / HTTP/1.1
# > Host: localhost
# > User-Agent: curl/7.54.0
# > Accept: */*
# >
# < HTTP/1.1 200 OK
# < Server: Apache/2.4.28 (Unix) mod_secure_transport/2.4.27
# < Content-Location: index.html.en
# <html><body><h1>It works!</h1></body></html>
Na koniec zatrzymaj usługi WebDAV za pomocą sudo wfsctl stop, a następnie uruchom ponownie. Po ponownym uruchomieniu httpdnajwyraźniej nadal działa:
# after `sudo wfsctl stop` and system reboot ...
curl localhost
# <html><body><h1>It works!</h1></body></html>
sudo wfsctl status
# disabled
sudo wfsctl diagnose
# ...
# WFS is not enabled.
# ...
# All httpd processes:
# COMM RUSER PPID PID STARTED
# httpd root 1 85 6:12PM
# httpd _www 85 414 6:13PM
Przypis:
Czy jest to uzasadnione oczekiwane zachowanie, które sudo wfsctl stop również się nie wyrejestrowujehttpd ?
Być może wfsctlzakłada się, że nie ingeruje w inne usługi, z którymi można by uruchomić httpdserwer WWW? (Chociaż w moim przypadku użycia httpdnie zostało włączone w żaden inny sposób niż wfsctl.)