日期:2014-05-17  浏览次数:20752 次

apache启动命令加-k参数和不加的区别

我们有些时候直接运行的httpd(windows下的是httpd.exe)。运行这个命令的时候可以不加参数,直接启动http服务。

如果加一个参数-k的话,可以执行重启、停止、启动、等命令。

但是,如果我只启动的话,

httpd
和
httpd -k start


有区别吗?答案是有的,而且很大。

如果你的电脑上(不管是Windows还是Linux)安装了多个Apache,当然了,只有一个是安装,而其他都是解压的。

?

在一个解压版的apache的bin目录下执行httpd,启动成功了,但是执行httpd -k start却出错了,出错原因类似下面这种:

?

(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。? : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down

?

其实,这两个分别执行了不同的apache,执行-k参数的命令时,它总是找的系统服务里(也就是安装的那个)的apache。

?

所以,一台主机有多个apache的时候,慎用这个参数。

?