我无法停止 apache2。我想使用 nginx,因此我想删除/停止 apache2,但我做不到。我试过了此链接上的所有方法,但当我刷新http://127.0.0.1/我仍然在那里看到 apache2。
答案1
您看到的是index.html
Apache 安装的文件。 请不要仅仅相信索引页可以作为正在使用的 Web 服务器的指标!
仅仅因为您看到的是 Apache“默认”页面,并不意味着您实际上看到 Apache 正在运行,您看到的只是已安装的“默认页面”。index.html
如果文件已经存在(理想情况下),NGINX 和 Apache 都不会覆盖默认 Web 根目录中的文件,因此首先出现的实际上是安装该文件的那个index.html
- 它不会因为您安装了不同的 Web 服务器而改变。
您可以通过执行以下操作来确认这一点:sudo rm /var/www/html/index.html && echo "I am testing things!" | sudo tee /var/www/html/index.html
然后刷新浏览器 - 您会看到此时的内容不同。
如果 nginx 软件在安装时发现默认 webroot 中已经有一个 index.html 文件/var/www/html/
,则应该不覆盖它。这是正常现象,因此使用默认 docroot 的网站用户不会丢失数据。
我们需要做的是确认实际正在使用哪个 Web 服务器。
总是使用实际的命令行工具来验证正在使用的 Web 服务器软件。
利用(如果您的系统上没有安装sudo netstat -tulpn | grep :80
,可以使用替代命令)我们可以了解正在使用的 Web 服务器:ss -tulpn | grep :80
netstat
$ sudo netstat -tulpn | grep :80
tcp6 0 0 :::80 :::* LISTEN 1258/apache2
如您所见,这是一个监听端口 80 的 Apache2 Web 服务器。
相反,如果服务器是nginx
您会看到如下内容:
$ sudo netstat -tulpn | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2772/nginx: master
tcp6 0 0 :::80 :::* LISTEN 2772/nginx: master
您还可以通过检查以下命令之一的输出来确定它是否正在运行 Apache2 或 NGINX:
$ pidof apache2
$ pidof nginx
根据哪个提供输出,您可以确定哪个 Web 服务器正在实际使用中。
答案2
如果你想停止 Apache2 Web 服务器,那么命令是
sudo systemctl stop apache2
--- 停止服务器
sudo systemctl restart apache2
---- 重新启动 Web 服务器
您可以通过命令(永久)删除 Apache2 Web 服务器。
sudo apt-get purge -y apache2*
--- 卸载 Apache2 服务器
卸载后,您可以在浏览器中输入本地主机(127.0.0.1)进行检查
答案3
您可以apache2
使用以下方式停止该服务:
sudo systemctl stop apache2
或者
service apache2 stop
如果您的系统启动时没有systemd
。
要将其从服务器中删除,您可以运行:
sudo apt-get purge apache2 apache2-utils apache2-bin apache2.2-common
如果由于某种原因这不起作用,您可以运行以下命令(需要net-tools
):
netstat -tulpn | grep :80
并使用以下命令终止该进程:
sudo kill pid
还要确保apache2
默认网页不在/var/www/html/
。
答案4
要删除 apache 和所有相关文件,您可以运行:
sudo apt-get purge -y apache2\*
不要忘记转义星号,否则你会得到
sudo: No match