【紧急】Apache在Win2003 server服务器上配置有关问题
【紧急】Apache在Win2003 server服务器上配置问题
服务器环境:windows2003 server + apache + mysql + php + iis
服务器硬件:酷睿双核 + 2.5G内存 + 250G硬盘
最近服务器频繁宕机,观察windows任务管理器发现Apache的httpd.exe进程狂吃内存,PF从800M直飙升到2.0G然后宕机。具体表现的现象有如下几点:
1.mysqld.exe占用cpu平均高达80%以上。
2.httpd.exe开机后内存占用增加速度飞快。
3.重启后不到5分钟又宕机。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
5.夜间比较稳定,一到白天就频繁宕机。
apache当前参数配置如下
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
ThreadsPerChild 350
MaxRequestsPerChild 5000
Win32DisableAcceptEx
请问我该怎么办才能让服务器稳定下来?
------解决方案--------------------
很邪门啊,难道是你电脑中毒拉。
------解决方案--------------------
先看看日志吧,
------解决方案--------------------
看出错日志
另外php什么版本的?
还有一个可能是访问 ip太多了,你得修改一下你上面的参数 把数值都改小点.
------解决方案--------------------
你的那条错误是 因为加了Win32DisableAcceptEx 产生的,这个并不算是错误。
我以前也碰过你说的问题,不过一样的没有找到最根本的解决方法,只能够去修改
ThreadsPerChild 350
MaxRequestsPerChild 5000
的数量来让apache 自动在达到一定的数量时产生一个新的进程.忘记是不是这样描述了。
访问的数量多不多可以在网站加个统计链接,看看是不是流量过大,如果是的话 我还是建议将
apache php mysql 部署到linux上吧, win下的apache 真的是很无奈...
另外一个你或者可以考虑换成nginx 不过这个早期版本我测试的时候比apache还不稳定...
如果非要windows 那还是上iis+php+mysql 吧.
------解决方案--------------------
ThreadsPerchild和MaxRequestsPerchild值分别为1000和5000
太高啦...
你原来的数值我就觉得太高了,忘记跟你说了
往小的设置 分别设置到
ThreadsPerChild 100
MaxRequestsPerChild 300
看看什么情况.
------解决方案--------------------
我也遇到过这种情况。
怎么都解决不了。
当时一直以为服务器被劫持。就重做了系统。可是情况依然。
之后就一遍一遍的检查源码。。。
是的。别人植入 代码,一直向外发包。之后。。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
(隔一会就好了)
应该是重启了。。。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

要在 Apache 中设置 CGI 目录,需要执行以下步骤:创建 CGI 目录,如 "cgi-bin",并授予 Apache 写入权限。在 Apache 配置文件中添加 "ScriptAlias" 指令块,将 CGI 目录映射到 "/cgi-bin" URL。重启 Apache。

当 Apache 80 端口被占用时,解决方法如下:找出占用该端口的进程并关闭它。检查防火墙设置以确保 Apache 未被阻止。如果以上方法无效,请重新配置 Apache 使用不同的端口。重启 Apache 服务。

Apache 连接数据库需要以下步骤:安装数据库驱动程序。配置 web.xml 文件以创建连接池。创建 JDBC 数据源,指定连接设置。从 Java 代码中使用 JDBC API 访问数据库,包括获取连接、创建语句、绑定参数、执行查询或更新以及处理结果。

有 3 种方法可在 Apache 服务器上查看版本:通过命令行(apachectl -v 或 apache2ctl -v)、检查服务器状态页(http://<服务器IP或域名>/server-status)或查看 Apache 配置文件(ServerVersion: Apache/<版本号>)。

启动 Apache 的步骤如下:安装 Apache(命令:sudo apt-get install apache2 或从官网下载)启动 Apache(Linux:sudo systemctl start apache2;Windows:右键“Apache2.4”服务并选择“启动”)检查是否已启动(Linux:sudo systemctl status apache2;Windows:查看服务管理器中“Apache2.4”服务的状态)启用开机自动启动(可选,Linux:sudo systemctl

要从 Apache 中删除多余的 ServerName 指令,可以采取以下步骤:识别并删除多余的 ServerName 指令。重新启动 Apache 使更改生效。检查配置文件验证更改。测试服务器确保问题已解决。

如何查看 Apache 版本?启动 Apache 服务器:使用 sudo service apache2 start 启动服务器。查看版本号:使用以下方法之一查看版本:命令行:运行 apache2 -v 命令。服务器状态页面:在 Web 浏览器中访问 Apache 服务器的默认端口(通常为 80),版本信息显示在页面底部。

Apache 无法启动,原因可能有以下几点:配置文件语法错误。与其他应用程序端口冲突。权限问题。内存不足。进程死锁。守护进程故障。SELinux 权限问题。防火墙问题。软件冲突。
