如何在 Ubuntu 18.04 上停止 Apache2?

如何在 Ubuntu 18.04 上停止 Apache2?

我无法停止 apache2。我想使用 nginx,因此我想删除/停止 apache2,但我做不到。我试过了此链接上的所有方法,但当我刷新http://127.0.0.1/我仍然在那里看到 apache2。

答案1

您看到的是index.htmlApache 安装的文件。 请不要仅仅相信索引页可以作为正在使用的 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 :80netstat

$ 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

相关内容