Slashdot Mirror


Apache 2.2.0 Released

ikewillis writes "According to an announcement on apache.org, Apache 2.2.0 has been released. From the announcement: 'This version of Apache is a major release and the start of a new stable branch. New features include Smart Filtering, Improved Caching, AJP Proxy, Proxy Load Balancing, Graceful Shutdown support, Large File Support, the Event MPM, and refactored Authentication/Authorization.' View the ChangeLog or check out the new feature list."

10 of 179 comments (clear)

  1. Can reconfigure without restart NOW by dananderson · · Score: 4, Informative
    You can re-configure without restarting Apache 2.0 now (maybe even Apache 1.0, but I don't use that) by sending SIGHUP to the Apache process. The parent Apache process re-reads the config file.

    You can also do this: apachectl -k restart

    1. Re:Can reconfigure without restart NOW by Matt+Perry · · Score: 5, Informative
      Actually you want SIGUSR1. HUP does a regular restart which will cause any children to terminate immediately. Any requests in progress are terminated. USR1 (graceful restart) will allow the child processes to finish serving their requests and newly spawned children will have the new configuration.

      See the docs on stopping and restarting for reference.

      --
      Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
    2. Re:Can reconfigure without restart NOW by The+Clockwork+Troll · · Score: 5, Informative

      If you plan to rely on graceful restarts, be sure to set MaxChildren appropriately low, proportional to your server request rate, otherwise your config changes will never get picked up.

      --

      There are no karma whores, only moderation johns
  2. Re:Right... by Matt+Perry · · Score: 4, Informative

    Since version 1.x you've been able to make config changes without a restart. Just edit your config files and then run "apachectl -k graceful" or send a USR1 kill signal to the parent Apache process. Apache reloads the config without restarting.

    --
    Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
  3. Re:Combining mod_proxy with mod_cache by gleam · · Score: 4, Informative

    I'd suggest going with Squid 3.0 (beta, but very stable in my experience) acting as a caching reverse proxy instead of Apache.

    use cache_peer to setup multiple debian mirrors as parents and it'll share the load between them.

    In my testing with squid 3.0 vs squid 2.5 vs apache 2.1.9 (the last beta version before 2.2.0), squid vastly outperformed apache when it came to this type of application.

    I'm sure someone will explain to me that apache 2.2 is actually far faster than squid, but in my experience, it's not.

    If you want to provide the mirror as a subdirectory of your current site, instead of giving it its own IP and domain, just set up squid to reverse proxy your entire site. You can configure different paths in the url to go to different parent servers, so /debian/ will be your debian mirror parent servers but everything else will be localhost:81, or whatever.

    YMMV etc etc, but that's what I'd do.

    --
    this .sig is not a .sig.
  4. apt-proxy by Anonymous Coward · · Score: 3, Informative

    FWIW there's a debian-specific solution in the form of apt-proxy, a program that runs on your server, then the clients point their /etc/apt/sources.list at you, etc. etc. I haven't used it, but I know it exists, so your mileage may/will vary. (At my last job I was responsible for setting up a large web cluster; one machine acted as sort of the "mothership" providing all sorts of network services to the web hosts and so on... I was just looking into apt-proxy when I ended up getting a better job elsewhere. ;))

    http://apt-proxy.sourceforge.net/

  5. Re:Different mirrors for different directories by gleam · · Score: 3, Informative

    Yes, Squid 3.0 can handle that easily using built in config options, and squid 2.5 can handle it with an external redirector script.

    --
    this .sig is not a .sig.
  6. Re:GUI? by Orange+Crush · · Score: 3, Informative

    There are a couple of GUI frontends for configuration available, but I don't believe this release includes one "out of the box." If you're running Apache on Windows there are a number of commercial products available for GUI configuration. There's a whole bunch of free ones for Linux/Unix, webmin being one of my favorites since it has modules for just about everything under the sun (unix users & groups, samba shares, mysql, etc.) Although I've never had much trouble editing the text conf files by hand. We have a lot of sites and virtual hosts--it was much quicker and easier to set it all up in Apache via typing and cutting and pasting the relevant bits than when we used to run IIS.

  7. Re:Inertia by Floody · · Score: 5, Informative

    Anyway, I guess the big question is, how many people will actually adopt 2.2.0. I still remember when 2.0 came out to mostly a yawn as most people kept using 1.3.x. Even today, most of the servers that I come across or administer are still using 1.3.x because unless you were running Windows, 2.x didn't really offer spectacular improvements over 1.3.x, and looking at the changes for 2.(1|2).x (anyone who's going to transfer a >2GB file over HTTP is crazy ;)), I have this feeling that we might see the same 1.3->2.0 inertia.

    The change from 1.3 -> 2.0 was a very major one. The entire api was retooled; and for good reason, ap 1.3 had some rather serious deficiencies in the extensibility department (module load order significance, etc). 2.0 saw the birth of the exceedingly well designed APR (Apache Portable Runtime), a module-participation-driven abi ("hooks") and fast stack-unwinding i/o handling ("fitlers"). All good stuff, but slightly less able performance-wise on low-cpu-count hardware (extensibility always comes with a pricetag) and completely imcompatible with any module of even moderate complexity that had previously been written.

    Times have changed though. The robustness of the abi design combined with the APR has led to some outstanding modules, such as extensive state awareness and dynamic load-balance adjustment without even USR1-style interruption. None of these capabilities are even remotely plausible under 1.3.

    The point is: 2.2 is still the same core api design. Certainly, it contains some enhancements, but the bridge that must be crossed is miniscule in comparison to the 1.3/2.0 transition.

    There is still much room for improvement (when isn't there?). For example, mpm looks like a good idea on paper, but how well does it really work in terms of abstracting the process/thread semantics into fairly "pluggable" components? How well can it really work? Thread-based design requires a completely different approach or the end result (treating threads like processes) simply nets you more "accounting" overhead and few significant gains to offset that (yes, I realize it wins on win32 which does not have a light-weight process model).

  8. Re: Version numbers by rbowen · · Score: 5, Informative

    In the mean time (ie, since the 2.0 release) we've changed the versioning model to the "odds are dev, evens are stable" model. So as soon as 2.2 released, development moved to the 2.3 branch, which will release as 2.4. So, yes, like Perl and Linux and many other things.

    As for transferring >2GB files, this comes up many times every day on #apache, and fairly frequently on the mailing lists, so people do actually want to do this.

    Folks that are still using 1.3 are missing out on enormous strides forward. The "it still works fine, why should I upgrade" crowd are completely welcome to remain where they are, and we're not going to compel to move, but they are going to miss out on all sorts of cool things, in the name of "it's good enough already." Their loss, not ours.

    --
    Apache guy, Open Source enthusiast, runner