服务器

Apache启动又停止的解决方法

(一)

昨天在电脑上安装XAMPP,想跑几个PHP程序玩玩。安装过程中一切正常,安装完毕,启动Apache,却怎么也启动不了。总是启动了,又莫名其妙的自 动停止了。我在开始-->运行-->输入services.msc进入“服务(本地)”,在这里手动启动,还是没有成功,给出个警告框。提示 说:本地计算机上的Apache2.2服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。我也不知道这是什么 意思。就去Google了一下。
现将整理后的解决方案公布如下:
在桌面右键网上邻居-->点击“属性”-->打开“网络连接”窗口-->在“本地连接”右键单击“属性”-->打开“本地连接 属性”对话框-->在“常规”选项卡下的“此连接使用下列项目(o):”内双击“Internet协议(TCP/IP)”-->打开 “Internet协议(TCP/IP)属性”对话框-->点击右下脚的“高级(V)...”按钮-->打开“高级TCP/IP设置”对话框 -->单击“WINS”选项卡-->选中“禁用TCP/IP上的NetBIOS(s)”。-->一直点击“确定”按钮即可。
另外:我们首都师范大学的同学们注意了,咱们上网用的Dr.COM 客户端是跟Apache有些冲突的(具体我也不知道)。如果你在启动了Dr.COM客户端的情况下启动Apache这时还会出现上述错误。一定要关掉 Dr.COM客户端。这时应该就可以正常启动Apache服务器了。     ^_^Enjoy!

(二)
这两天不知道为什么Apache启动时总时出现问题,找了很多方法还是不行,郁闷了好几天。
每次手动启动apache 时总是提示:本地计算机上的Apache服务启动后又停止了,一些服务自动停止,如果他们没什么可做的例如"日志和警报"服务 。
今天终于把问题给解决了,心里舒服多了。
解决方法如下:
在网络连接属性里选
tcp/ip属性--> 高级-->wins标签--->下面有启用LMHOSTS查询,及netbios的选项
改为禁用,任务管理器里立刻就可以看到apache进程cpu迅速下降(不再尝试开子进程)

经测试暂时还没有问题

观察中
后续:

似乎问题和上面的没有关系

可能还和tcpip.sys这个文件有关系

特别是xp sp2系统

再续:

晚上继续试验

除了上面两个外

极端方法是关掉apache的日志

怎么样关闭apache2的日志文件(logfile)?这是个问题,因为写日志会给系统带来很大的损耗。关闭日志以后,甚至最高可以提高整体性能近40%(粗略估计)那么如何关闭日志呢?

可以通过降低log级别的办法来减少日志读写。

这里要提醒的是,这么做将给“入侵检测”以及其他基于日志分析的工作带来麻烦。所以请谨慎使用。

LogLevel用于调整记于错误日志中的信息的详细程度。(参阅ErrorLog指令)。可以选择下列级别,依照重要性降序排列:

Level  Description  Example
emerg  紧急 - 系统无法使用。 "Child cannot open lock file. Exiting"
alert  必须立即采取措施。 "getpwuid: couldn't determine user name from uid"
crit  致命情况。 "socket: Failed to get a socket, exiting child"
error  错误情况。 "Premature end of script headers"
warn  警告情况。 "child process 1234 did not exit, sending another SIGHUP"
notice  一般重要情况。 "httpd: caught SIGBUS, attempting to dump core in ..."
info  普通信息。 "Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)..."
debug  出错级别信息 "Opening config file ..."

通常情况建议使用 crit  到 warn 之间的设置

(三)
上面的方法虽然解决了Apache的问题,可是这样会出现偶尔上不了网的现象。经过多天的资料搜索,终于找到了一个较为完美的解决方法了,方法如下:
网上邻居->;查看网络连接->本地连接(你正在使用的那个连接,一般是这个名字)->;右键点它选"属性"->;选中"internet协议(TCP/IP)
->; 属性->;高级->;切换到"wins"标签->点击"导入LMhosts(M)" 然后选择你安装 apache目录下的bin文件夹(我安装的目录是D:\AppServ\Apache2.2\bin) 导入httpd.exe后 就可以开启Apache 也可以上网了

Nothing!
必须非常努力·才能看起来毫不费力
查看“Nothing!”的所有文章 →

4 条评论

  1. xiaojie_007

    你好 我也遇到了 apache启动又停止的问题 用你的方法启动成功了
    我想问下
    “禁用TCP/IP上的NetBIOS(s)”。–>
    这是什么原理

  2. shizi

    谢谢分享,我也遇到了同样的问题,用了上述方法果然好用

  3. 好像还是不行啊

    • Nothing

      这篇文章当时写得并不全面,有机会我再做下补充!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关推荐