如何在 ubuntu 上停止 apache2-没有可见进程

如何在 ubuntu 上停止 apache2-没有可见进程

我刚刚安装了 ubuntu 16.04 和 apache2。即使我停止 apache2,默认配置页面也会显示出来。这非常奇怪,因为没有进程 httpd。服务器继续提供默认文件,更改文件会显示更改。

这是控制台上的输出:

user@rex:~$ sudo /etc/init.d/apache2 stop
[ ok ] Stopping apache2 (via systemctl): apache2.service.
user@rex:~$ ps -ef | grep httpd
user      1855  1642  0 16:03 pts/0    00:00:00 grep --color=auto httpd
user@rex:~$ sudo /etc/init.d/apache2 status
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: inactive (dead) since Thu 2017-01-19 16:03:20 CET; 44s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1785 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 1768 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)

Jan 19 16:03:20 rex apache2[1768]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Jan 19 16:03:20 rex apache2[1768]: no listening sockets available, shutting down
Jan 19 16:03:20 rex apache2[1768]: AH00015: Unable to open logs
Jan 19 16:03:20 rex apache2[1768]: Action 'start' failed.
Jan 19 16:03:20 rex apache2[1768]: The Apache error log may have more information.
Jan 19 16:03:20 rex apache2[1768]:  *
Jan 19 16:03:20 rex apache2[1785]:  * Stopping Apache httpd web server apache2
Jan 19 16:03:20 rex apache2[1785]:  *
Jan 19 16:03:20 rex systemd[1]: Started LSB: Apache2 web server.
Jan 19 16:03:46 rex systemd[1]: Stopped LSB: Apache2 web server.

这可能是什么问题?

答案1

首先,Ubuntu 上的 apache 进程名称与 CentOS 中的apache2不同httpd。因此,您需要使用以下命令验证它是否已停止:

$ ps -ef | grep apache

另外,您需要使用以下命令确认没有进程正在监听端口 80:

$ sudo netstat -lntp | grep 80

还有一件事需要确认,查看 apache2 访问日志以验证你正在访问的是这台机器而不是其他机器/var/log/apache2/access.log

相关内容