不久前,我认为在我的 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>