Is Apache 2.x Ready for General Use?
Above asks: "In this article we see apache 2.0.45 has been released. Well, I plan on rebuilding my webserver soon, which means installing the "latest" version. However, I'm still on the 1.x train, which is still going strong. As someone who hasn't used 2.x, and hasn't followed the development is it ready for the masses or should I stick with 1.x and be happy? Are mod_perl and ssl (my two requirements) stable? What about all the other things (php et all)? I don't do anything fancy with my web sites, but having them "just work" and not having to upgrade every other day are both strong concerns. What are your experiences?"
But not quite. They're finally starting to get the idea that if they keep breaking external modules each release, no one is going to use it. They're almost to the point where when you download Apache and PHP, you know they'll work together. Give it a few more months.
It comes as the default on the newer RedHats, so I installed it. You probably won't even notice the difference. The config file has been cleaned up some, but it's not different enough to rock the boat. Unless you have a specific need to run the old verson, I would definitely go with it on a new install. For old installs, there's no need to upgrade.
"...till they work out all the problems in 2.x" They have (or at least enough where there are just as many left in 1.3.x as 2.x). Apache 2 has been in use for years on some sites - even as a beta it was more reliable than certain second-most-popular web server brands. 2.x has a better architecture, and I believe that fewer vulnerabilities will be found in it in the future than 1.3.x.
However, we do have one complaint and have filed bug reports which so far have been unresolved. (btw, prior to apache-2.0.39 we did not experience this problem)
A number of uses of SUN servers (we use ULTRAS and V100's) have noted that apache httpd children processes hang ocassionally. With prior than .45 releases we were seeing a hang a few times a week. With the .45 release we are seeing on average 3 to 5 hangs a day, so the problem has gotten worse.
This is not just our boxes - other people have confirmed the problem and the orginal bug report referenced above was actually opened not by me. I asked the original poster if they had problem too with the .45 version and they just upgraded last week and reported back that it also appeared to them to have the problem worse.
Specifically, a child will hang. If you connect via port 80 (e.g., telnet) to the child it answers, but when you type your line (e.g., GET /) it hangs upon carriage return and ALL the children then are hung in the same manner. There is no load associated with the hang, but the server stops responding FOR A PERIOD OF TIME to port 80 requests (e.g., they all hang). The server does seem to eventually recover - but not fast enough for our clients ;)
Both the original poster and myself have written watchdog programs which ping (mine pings every 5 seconds) the server and if the server doesn't respond it sends a KILL -USR1 signal (bascially a form of HUP) to the parent process. In 99.9999% of the cases this unsticks the parent and life returns to normal (note, there is no load associated with the hung children - e.g., load does not go up when the child hangs). In the .0001% of the cases where at least two consecutive KILL's don't unstick the parent we do a forced kill of all apache and restart it (again, automated by the watchdog).
THe other reporter is also using SUNS, so this might be particular with their 2.8 OS. Also, ALL of our suns exhibit it, regardless of apache config, etc.
Besides that, also note there are a few changes to the config so using your old config will PROBABLY result in apache bitch'n the first time you startup, but the changes are pretty minor (mostly things you don't need anymore).