如何让 Apache 在 Mac OS X 系统启动时自动启动 httpd
基于 Mac 的 Web 开发人员现在可能熟悉通过命令行在 OS X 中手动启动和停止 Apache Web 服务器,但是如果您希望 Apache 在 Mac 启动和重新启动时自动启动,您需要更进一步并使用 launchctl。通过这样做,webdevs 将不需要手动运行 apache 启动命令来启动 Apache httpd 守护进程,它会在每次 Mac 启动时自动启动。当然,我们还将展示如何阻止 Apache 在启动时自行启动。
本质上,这些命令的作用是在系统启动时将apache web 服务器启动守护程序加载到OS X 中。因为它使用 launchctl,所以你需要通过 sudo 获得管理员权限才能加载或卸载 apache。请记住,只有更现代的 OS X 版本在“共享”首选项面板中不再有“网络共享”选项时才需要这样做。
注意: 这假定您已经在 Mac 上配置和设置 Apache,如果您还没有这样做,您应该从那里开始, 否则你会在没有太多配置的情况下自动加载 Apache。
将Apache 设置为在Mac OS X 中启动时自动启动
从终端输入以下命令:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
按要求按回车键并输入管理员密码以完成作业。
现在,当Mac 启动或重新启动时,Apache 将自动启动,通过转到任何浏览器并输入“localhost”作为URL 即可轻松验证这一点。
你会看到熟悉的“It Works!”本地主机上的消息和那些核心文件位于:
/Library/WebServer/Documents/
更进一步,您还可以为localhost/~User启用用户级别的站点选项,但这超出了本文的范围,我们将在此处介绍。
阻止Apache 在Mac OS X 中启动时加载
要阻止Apache 在系统启动时自动启动,您只需像删除任何其他守护进程一样从launchd 中删除代理,如下所示:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
再次需要输入管理员密码以确认更改。
判断Apache是在launchd中加载还是卸载
如果你不确定你是否设置了Apache自动加载,你可以这样查询launchd for apache:
launchctl list|grep apache
没看到返回的apache.httpd?然后守护进程没有加载,也不会自动启动。 Apache 仍然可以使用和手动启动,但它不会通过重新启动或引导自行启动,非常简单。
如果在 OS X 中配置 Apache、PHP 和 MySQL 听起来过于复杂或被认为太麻烦,另一个很好的解决方案是使用预配置的 Web 服务器包,如 MAMP。MAMP 还提供了一个独立的 Web 服务器解决方案,Apache、PHP 和 MySQL 已经包含在一个应用程序包中,用户只需启动 MAMP 应用程序并开始必要的服务来启动和停止本地开发的 Web 服务器。 MAMP 功能强大,是基于 Mac 的 Web 开发人员的绝佳工具,与您自己手动配置各个组件以在 OS X 中运行相比,它涉及的修补和复杂性通常要少得多。任何一种解决方案都可以很好,所以请使用适合您和您的舒适度的任何一种。