今天遇到apache的httpd服务开启不了,报错是服务端口地址X被占用。
解决步骤为:
查看进程的端口。查看的命令为:
1,netstat -tuanp
t表示tcp协议
u表示udp协议
a表示显示监听/非监听套接字。
n表示以数字形式,而不是解析成host, port or user names.
p表示显示程序的PID和名称。
2,lsof -i: PortNum
-i : 后边跟着端口号。其显示使用某个端口号的进程。
3,使用fuser Num/protocol
跟端口号和协议名
结果是进程PID。
例如 fuser 80/tcp
发现确实X被其它进程占用了。
之后查看apache的httpd的配置文件。我只知道有个httpd.conf,搜索发现在/etc/httpd/conf/httpd.conf 但是里边没有配置要使用X的信息。
后来发现httpd的配置文件在/etc/httpd/conf.d/下也有。
/etc/httpd/conf.d/ssl.conf 这个文件里边有SSL监听的端口配置。
/etc/httpd/conf/httpd.conf 这个文件里边有httpd监听的端口配置。
httpd进程有可能用到上述两个端口。
最后重启了httpd/apache服务。
参考资料:
1,http://www.zzbaike.com/wiki/Apache