Brian Overstreet wrote: > Any comments on this case? > > Thanks, > Brian > > ------------------------------------------------------------------------------ > Additional Apache2 Modules mod_python and mod_ruby > > 04 February 2009 > > 1. Summary and motivation > > 1.1. Introduction > > This project delivers Apache modules mod_python and mod_ruby > to the Apache2 (PSARC/2007/586) in OpenSolaris. > > Is there a compelling use case for mod_ruby? It doesn't seem to get much respect these days.
> Modules allow Apache to integrate and provide functionality > during runtime that were not available during compile time. > > 1.1.1 mod_python > From modpython.org[1] "mod_python is an Apache module that embeds > the Python interpreter within the server. With mod_python you can > write web-based applications in Python that will run many times > faster than traditional CGI and will have access to advanced > features such as ability to retain database connections and other > data between hits and access to Apache internals" > > 1.1.2 mod_ruby > From modruby.net[2] "mod_ruby embeds the Ruby interpreter into the > Apache web server, allowing Ruby CGI scripts to be executed > natively. These scripts will start up much faster than without > mod_ruby." > > This project integrates the most recent stable releases of > mod_python[1] 3.3.1 and mod_ruby[2] 1.2.6 > > Any idea about the recent mod_ruby 1.3.0? > This case seeks Minor Release Binding. > > 2. Technical issues > > 2.1. Key objects > > 2.1.1.1 mod_python Apache objects > /usr/apache2/2.2/libexec/mod_python.so > /usr/apache2/2.2/libexec/${ISAINFO}/mod_python.so > /etc/apache2/2.2/conf.d/python.conf > Does python.conf automatically load mod_python? It is sometimes nice that features are auto-enabled, but because of all the stuff loaded into Apache already, it has a huge vsize which in combination with the default prefork MPM means that a lot of swap space is required. (I don't have any particular solution to how to auto-enable Apache-related features without that problem ;) ) > 2.1.2.1 mod_ruby Apache objects > > /usr/apache2/2.2/libexec/mod_ruby.so > /usr/apache2/2.2/libexec/${ISAINFO}/mod_ruby.so > there's no 64-bit version of mod_ruby, right? > /etc/apache2/2.2/conf.d/ruby.conf > same concern about ruby.conf > 4. Packaging and Delivery > > The modules will be split into two parts. One the apache part which > consists of modules loadable into apache, and another the scripting > library part. It was chosen to split the packages into a native > component and a library part as this is the approach taken by the upstream > components. They allow the native part (.so file) and language library > to be installed separately. > is one of these parts useful without the other? > The apache modules will be delivered under the cluster SUNWCapch22m. > This cluster will carry SUNWapch22m-python and SUNWapch22m-ruby. > in the context of all the various Apache plug-ins (PHP, mod_security, mod_jk, etc.), why are mod_python and mod_ruby treated together in this manner? > The scripting library part of mod_python will be delivered under > SUNWPython-apache. > Is SUNWPython the name of the Python interpreter package it uses? (Python 2.6 IIRC) > 6. Limitations > 1. mod_ruby > mod_ruby is known to be unstable under Worker MPM for apache > (threaded MPM) > will ruby.conf disable it with worker MPM? > Prefork MPM for mod_ruby is somewhat expensive as each apache process > has to load the entire ruby runtime and the libraries. > > 64 bit support for mod_ruby is dependent on the parent ruby package > delivering 64 bit libruby.so (As of now, ruby does not deliver a 64 > bit library.) > > 2. mod_python > The mod_python is bulky under Prefork MPM (same as ruby). > mod_python under Worker is stable but for most applications over it > (e.g. Django) it is recommended to run Prefork MPM. > any idea why it is recommended not to use Django or other apps with worker+mod_python? >