如何在 OSX Mountain Lion / Mavericks 中启动 apache?

sli*_*fty 70 apache-http-server osx-mountain-lion osx-mavericks macos

OSX Mountain Lion 删除了用于 Web 共享的 GUI,但仍安装了 apache。

如何启动和停止服务?如何让服务在启动时自动启动?

Gor*_*son 77

Apache 的 LaunchDaemon 仍然存在,因此您只需加载它:

sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Run Code Online (Sandbox Code Playgroud)

-w使它成为永久的,即它会在您重新启动时重新加载。

  • @JamesMcMahon:`sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist` (9认同)

sli*_*fty 35

终端命令

开始:“sudo apachectl start”

停止:“sudo apachectl 停止”

重新启动:“sudo apachectl restart”

启动时启动

(请参阅此线程中标记的答案)


Lri*_*Lri 12

sudo apachectl start还启用 launchd 守护程序。它通过修改来覆盖Disabled键,就像./System/Library/LaunchDaemons/org.apache.httpd.plist/private/var/db/launchd.db/com.apple.launchd/overrides.plistlaunchctl load -w

为了http://localhost/~username/工作,您必须创建 /etc/apache2/users/username.conf并添加这样的<Directory>指令:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)


小智 8

Slifty 和 Lauri 暗示了一个重要的概念,但没有明确说出来。

“sudo apachectl start”不仅会启动apache,还会修改/private/var/db/launchd.db/com.apple.launchd/overrides.plist,这样每次系统重启时apache都会自动重启。

同样,“sudo apachectl stop”将停止apache并修改上述文件,以便系统重新启动时apache不会启动。

这似乎是控制服务是否自动启动的最简单方法。