如何删除已在 Mac OS X 中安装的 Apache2?

如何删除已在 Mac OS X 中安装的 Apache2?

不久前,我认为在我的 MacBook 上安装 Apache2 会很方便,而不是简单地安装 MAMP。但是现在我改变了主意,但我不能简单地删除 Apache2。我已经尝试了以下操作:

sudo nano /etc/apache2/httpd.conf

在此文件中,#符号仍然位于 PHP5 行之前,但 PHP 仍在运行。

有时页面 localhost 会显示:“它起作用了!” 有时它会显示ERR_CONNECTION_REFUSED

我担心这会搞砸 MAMP 安装。我不想重新安装操作系统。

我读到该命令可能有助于找出正在使用该端口的内容:

sudo lsof -i:80

它对我来说是这样的:

我如何删除 Apache2?

答案1

您的问题表明您想从 Mac OS X 中删除 Apache2,但不清楚您是如何安装的,甚至不清楚您是否进行了自定义安装。如果是随 Mac OS X 安装的 Apache,您不想去掉它来自操作系统,但只是停用它所以它没有运行。

默认情况下,Apache 随 Mac OS X 捆绑在一起,但它已被停用。所以我的假设是你只是在系统上启动了 Apache,甚至将其设置为在系统启动或重新启动时自动启动。我猜是因为你的输出sudo lsof -i:80显示 Apache 在用户下运行_www

无论如何,要停止 Mac OS X 中的内置 Apache 服务器,请使用以下命令:

sudo apachectl -k stop

然后只需输入您的管理员密码。为了防止 Apache 在系统重新启动时再次启动,只需运行此launchctl unload命令;您将再次需要您的管理员密码:

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

完成所有操作后,检查输出sudo lsof -i:80,Mac OS X 中的内置 Apache Web 服务器应该完全停止和禁用。

答案2

sudo apachectl start确保它正在运行

http://本地主机:80以确保您看到“它有效!”或出现其他信息确认它正在运行。

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

cat /private/var/db/com.apple.xpc.launchd/disabled.plist应该产生类似以下内容的输出以表明 httpd 已被禁用自动启动。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.ftpd</key>
    <true/>
    <key>com.apple.mdmclient.daemon.runatboot</key>
    <true/>
    <key>org.apache.httpd</key>
    <true/>
</dict>
</plist>

相关内容