问题
For well over a year and a half I have been running Apache (using HTTPD, naturally) through WAMP without issue, or at least no issues like this. On this system, we host around 8 or so different web sites and a few applications that use the MySQL database.
Recently I had a full system crash and when I rebuilt the system on the same operating system with the same versions of Apache, MySQL, and PHP and near-identical configuration files.
The issue I am having is this: On startup our web services initially seem to work fine, and this can hold over for an hour or so, sometimes less, sometimes more. However after some period of time, all web sites suddenly become entirely unavailable, to include the localhost landing on the web server itself or any local browsing for that matter. Apache identifies as still running, remains listening on port 80, and has no abnormal access or error logs (to include in debug mode).
I've gone over this quite a few times, reinstalled WAMP and have interchanged different versions of Apache. Additionally I've vetted the configuration files compared to the old system and have ensured that the modules, extensions, and so on are the same as our previous version.
I would really appreciate any insight as I continue to rack my head over what might be causing this erroneous issue.
--
Some additional details and notes that might prove insightful.
- I've ensured the firewall isn't an issue, plus that wouldn't explain the sudden downtime or downtime at the localhost.
- A restart of just the Apache service tends to fix the issue, but only for a little while.
- Because we host multiple web sites, we do use virtual hosts. They work fine when the system is up and I don't believe they are of issue.
- The issue tends to result in indefinite "Waiting for host (site.com, localhost, etc.)".
- When I reset Apache during that indefinite error, it then errors out with "The connection to site.com was interrupted.", so something is still running.
- During these downtimes, httpd -d DUMP_VHOSTS is able to return the active virtual hosts.
- Using ab -n 1000 site.com when the site is 'down', the following result occurs:
Benchmarking site.com (be patient)
Completed 100 requests
Completed 200 requests
apr_pollset_poll: The timeout specified has expired (70007)
Total of 216 requests completed
回答1:
Add this into httpd.conf
EnableMMAP off
EnableSendfile off
AcceptFilter http none
AcceptFilter https none
This will disable Apache from using some of the more advanced functions for networking that the OS provides.
These functions can get broken with 3rd-party software installs.
Sometimes reinstalling TCP/IP (winsock) can remove the 3rd-party filters/drivers attached to the network layer.
netsh winsock reset
来源:https://stackoverflow.com/questions/20549404/apache-2-4-2-2-4-4-on-wamp-windows-server-2008-r2-stops-responding-to-reques