当我们重新安装apache启动失败时出现以下错误:
[root@localhost httpd-2.2.19]# /usr/local/http2/bin/apachectl restart
httpd not running, trying to start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
或者当我们安装完apache后,访问系统时出现以下画面
这就表明,我们的apache 是系统自带的apache .
这表明我们apache的端口80被占用。解决方式如下。
首先查看80端口的使用情况:
[root@localhost httpd-2.2.19]# netstat -lnp|grep 80
tcp 0 0 :::80 :::* LISTEN 28195/httpd
unix 2 [ ACC ] STREAM LISTENING 6580 1957/gpm /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 5422 1800/pcscd /var/run/pcscd.comm
这个时候发现80端口被28195占据。我们再查看具体是谁
[root@localhost httpd-2.2.19]# ps 28195
PID TTY STAT TIME COMMAND
28195 ? Ss 0:00 /usr/local/http2/bin/httpd -k restart
发现这个端口被旧的系统进程占用。这个进程是旧的apache
中断这个进程即可:
[root@localhost httpd-2.2.19]# kill -9 28195
1. 停止默认的apache进程
service httpd stop
2. 启动自己的apache
---------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------