配置安装Nagios启动apache时出现问题解决方法

时间:2021-09-12 10:59:10

(98)Address already in use: make_sock: could not bind to address 80 [resolved]
Description:
hi there, was wondering if you could help me with this error i am getting. i was trying to restart my apache server on my linux machine when i got this error i have never seen before, can anyone tell me what this error means?
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

# /etc/init.d/httpd restart

Stopping httpd: [ OK ]

Starting httpd: (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

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Cause:
This problem is caused by another service listening to TCP/IP port 80.

Solution:
1.  $ sudo fuser -k -n tcp 80
     $ sudo /etc/init.d/httpd  start
2.  Change the listen port in the httpd config file to 81, by doing this we want to see which service is using port 80.
     just do the following command as root :
#netstat -tlp
after running the command.
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1546/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1429/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1592/postmaster
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2360/sendmail: acce
tcp 0 0 0.0.0.0:8554 0.0.0.0:* LISTEN 3207/gnome-dvb-daem
tcp 0 0 0.0.0.0:54858 0.0.0.0:* LISTEN 1369/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1310/rpcbind
tcp 0 0 :::59092 :::* LISTEN 1369/rpc.statd
tcp 0 0 :::22 :::* LISTEN 1546/sshd
tcp 0 0 ::1:631 :::* LISTEN 1429/cupsd
tcp 0 0 :::443 :::* LISTEN 2593/httpd
tcp 0 0 :::6881 :::* LISTEN 2757/ktorrent
tcp 0 0 :::111 :::* LISTEN 1310/rpcbind
tcp 0 0 :::80 :::* LISTEN 2593/httpd
tcp 0 0 :::81 :::* LISTEN 2593/httpd

now we know that port 80 is utilised by another service, so locate and change system-config-httpd.conf: system-config-httpd.conf system-config-httpd.conf. all of this, restart httpd:
/etc/init.d/httpd start

3.  Third solution is to change binging address in your httpd.conf  like this:
Listen 127.0.0.1:80 ( that means: 
 instead of  Listen 0.0.0.0:80)
启动apache时出现

[root@centos apache2]# /usr/local/apache2/bin/apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using 121.10.40.155 for ServerName

现在提供该问题的解决方法

1)进入apache配置文件的目录:(视个人安装情况而不同)

[root@centos /]# cd /etc/httpd //我安装时配置文件所在的目录为/etc/httpd

2)编辑httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80

[root@centos httpd]# ls
conf.d  extra  httpd.conf  magic  mime.types  original

[root@centos httpd]# vi httpd.conf

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
注:使用vim是先输入/,再输入要查找的内容,回车即可
更改为:

ServerName localhost:80

3)再重新启动apache 即可。

[root@centos httpd]# /usr/local/apache2/bin/apachectl restart

OK,启动成功啦!