Why apache2-mpm-prefork?

For several days I’ve been trying to compile the required installers for a project which used debian based package. Iang’s code really helps, try it out. The problem is, apache2 and php5 package seems had a little conflict.

apache2 has apache2-mpm-worker_2.2.9-7ubuntu3_i386.deb which is: (http://packages.ubuntu.com)

Each Apache Multi-Processing Module provides a different “flavor” of web server binary, compiled with a different processing model.The worker MPM provides the default threaded implementation. It is recommended especially for high-traffic sites because it is faster and has a smaller memory footprint than the traditional prefork MPM.

and php5 has apache2-mpm-prefork_2.2.9-7ubuntu3_i386.deb which is:

The prefork MPM provides a non-threaded, pre-forking implementation that handles requests in a manner similar to Apache 1.3. It is not as fast as threaded models, but is considered to be more stable. It is appropriate for sites that need to maintain compatibility with non-thread-safe libraries, and is the best MPM for isolating each request, so that a problem with a single request will not affect any other.

And in the end you must replace the worker with the prefork version or it’ll conflict. So the question is why? What if I need to deploy them into production?

And why I don’t have this kind of conflict problem if i use apt-get install php5 apache2 instead.


6 thoughts on “Why apache2-mpm-prefork?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s