我刚刚安装了 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