4 ms·
Slick? Passenger spawns additional processes that require maintenance. I was always envy of Python's mod_wsgi - can it get even better? What don't you like abou
by old-gregg 17y ago
Slick? Passenger spawns additional processes that require maintenance. I was always envy of Python's mod_wsgi - can it get even better? What don't you like about mod_wsgi?
- FooBarWidget 17y agoWhy do you think those additional processes require maintenance? Phusion Passenger maintain them automatically without the sysadmin having to do anything. Even if Apache crashes they'll clean up themselves gracefully.
- deleted 17y ago[deleted]
- moe 17y agoAs far as I know (correct me if I'm wrong) passenger is maintenance free. Anything else wouldn't make much sense anyways. It maintains a pool of workers and distributes load over them, just as it should be. mod_wsgi for apache seems to do the same so I should have been more specific: I'm still waiting for a proper mod_wsgi for nginx. The nginx mod_wsgi is not the same as the apache version. It has some very unfortunate problems which effectively rule it out for production use: http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-of.html http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx...
- kblessinggr 17y agoI was actually talking to a developer awhile back, the conversation resulted in him actually updating the Ubuntu repository for Nginx's mod_wsgi to be updated to mod_wsgi 2.5 (as opposed to 1.0) and making it have choices of using Python 2.4 thru 2.6 via variants. But even then it was barely stable on Nginx 0.7.* and un-buildable on Nginx 0.8.*. At the moment the most stable version of Nginx to run mod_wsgi with is the legacy 0.6.+, the original author ported it during the 0.5 release. Performance and integration wise, Passenger excelled over trying to hack the mod_wsgi plugin into working. And as you said there are too many bugs to be effectively used in a production environment. Once Passenger is compiled, it only requires two lines in the Nginx configuration to enable a Python WSGI application, and its no more heavy on resources than Nginx itself. You do of course have to restart Nginx (which in effect restarts Passenger) if you change or add a web application, but thats about the only hard part. Passenger even builds and installs Nginx for you, so not sure where the high maintenance is at.
- moe 17y agoYou do of course have to restart Nginx (which in effect restarts Passenger) if you change or add a web application Actually depending on your web framework you don't even have to do that. Werkzeug and others support code-reloading. By the way I had a talk with a passenger developer yesterday and the WSGI support seems to be stabilizing. I was told that dreamhost is already using it in production - so it's undocumented but functional.
- FooBarWidget 17y agoYou don't even have to restart Nginx to restart apps. Just touch $APP_ROOT/tmp/restart.txt.
- kblessinggr 17y agoCourse when it comes to webservers such as NGinx, implementations of mod_wsgi are far outdated and not compatible with the last three major releases of the webserver. As such your practical choices for deploying Python (WSGI) applications via NGinx is to use either proxy_pass to a local self-served wsgi application, or Phusion Passenger. The latter being far more feasible. Thanks gduffy for linking my Nginx + Passenger + Python article, never new this site existed.