手动创建Apache服务
前几天用360优化了一下开机加速,结果Apache服务就不能启动了,在services里直接显示找不到相关文件,在网上搜索了一下解决方案,最终解决,记录一下。
1、删除现有的出现错误的apache服务,使用如下命令:
httpd -k uninstall -n Apache2.2
其实我使用了这个命令还是没有正确删除服务,报找不到相关文件错误,但我重启后服务就自动消失了。
2、重新安装Apache服务,使用命令
httpd -k install -n Apache2.2
因为我的电脑是win7的系统,直接使用上面命令会报错说没有权限。
进入控制面板->用户帐户->更改用户帐户控制设置,设置为从不通知,重启电脑
再执行上面的命令把Apache服务安装为window的一个service
3、安装完成,立马启一次试试,发现我的还是报错,看了一下错误提示,原来是httpd.conf配置有问题,因为之前的一个workspace被删除了,但是httpd-vhosts.conf里忘记去删除其虚拟主机配置,删除多余的配置信息,启动成功。
httpd命令其实还有很多其它的用途
你可以在Apache安装目录的bin子目录下,使用如下命令将Apache安装为WindowsNT服务:
httpd-kinstall
如果你想指定服务的名称,可以使用下面的命令。当你在同一机器上安装多个Apache服务时,你必须为它们指定不同的名字。
httpd-kinstall-n"服务名"
如果你想为不同名称的服务使用不同的配置文件,则安装时需要指定配置文件:
httpd-kinstall-n"服务名"-f"c:\files\my.conf"
如果你使用的是第一个命令,也就是除-kinstall外没有其它命令行参数,那么被安装的服务名称将是:Apache2.2,配置文件将使用conf\httpd.conf。
要移除一个Apache服务很简单:
httpd-kuninstall
或者使用下述命令移除特定名称的Apache服务:
httpd-kuninstall-n"服务名"
通常,启动、重启、关闭Apache服务的方法是使用ApacheServiceMonitor工具,另外也可以使用控制台命令:NETSTARTApache2.2和NETSTOPApache2.2或者通过Windows服务控制面板。在启动Apache服务之前,你应当使用下面的命令检查一下配置文件的正确性:
httpd-n"服务名"-t
你可以通过命令行开关来控制Apache服务。要启动一个已经安装的Apache服务,可以使用:
httpd-kstart
要停止一个已经安装的Apache服务,可以使用:
httpd-kstop
或
httpd-kshutdown
要重启一个运行中的Apache服务,强制它重新读取配置文件,可以使用:
httpd-krestart
默认情况下,Apache服务将被注册为以本地系统用户(LocalSystem帐号)身份运行。LocalSystem帐号没有网络权限,不能通过任何Windows安全机制访问网络,包括文件系统、命名管道、DCOM或secureRPC,但是它对于本地资源却拥有广泛的特权。