如何让 Apache 在 Mac OS X 系统启动时自动启动 httpd

在 Mac OS X 中自动启动 Apache

基于 Mac 的网络开发人员可能熟悉手动在操作系统中启动和停止 Apache 网络服务器现在通过命令行 X,但是如果您希望 Apache 在 Mac 启动和重新启动时自动启动,您需要更进一步并使用 launchctl。通过这样做,webdevs 将不需要手动运行 apache 启动命令来启动 Apache httpd 守护进程,它会在每次 Mac 启动时自动启动。当然,我们还将展示如何阻止 Apache 在启动时自行启动。

本质上,这些命令的作用是在系统启动时将 apache 网络服务器启动守护程序加载到 OS X 中。因为它使用 launchctl,所以你需要通过 sudo 获得管理员权限才能加载或卸载 apache。请记住,这仅适用于更现代的 OS X 版本,它们在“共享”首选项面板中不再具有“网络共享”选项。

注意:这假设您已经配置和设置 Apache在 Mac 上,如果你还没有这样做,你应该从那里开始,否则你会自动加载 Apache 而无需太多配置。

将 Apache 设置为在 Mac OS X 中启动时自动启动

在终端中,输入以下命令:

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

按回车键并按要求输入管理员密码以完成作业。

现在,当 Mac 启动或重新启动时,Apache 将自动启动,这可以通过转到任何浏览器并输入“localhost”作为 URL 轻松验证。

Apache 网络服务器正在运行在本地主机的 Mac OS X 中启动时自动

您会看到熟悉的“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 仍然可以手动使用和启动,但它不会通过重新启动或引导自行启动,非常简单。

如果配置 ApachePHPMySQL 在 OS X 中听起来过于复杂或被认为太麻烦,另一个很好的解决方案是使用预配置的 Web 服务器包,如 MAMP。 MAMP 还提供了一个独立的网络服务器解决方案,与 Apache 、PHP 和 MySQL 已经包含在一个单一的应用程序包中,用户只需启动 MAMP 应用程序并开始必要的服务来启动和停止用于本地开发的 Web 服务器。 MAMP 功能强大,是基于 Mac 的 Web 开发人员的绝佳工具,与您自己手动配置各个组件以在 OS X 中运行相比,它涉及的修补和复杂性通常要少得多。任何一种解决方案都可能很棒,因此请使用适合您和您的舒适度的任何一种。