Ruby Passeger + Nginx or lighthttpi + fgci for shared hosting
- by devnull
I have set up a passenger + nginx setup and I plan to offer a free non-commercial hosting (or in fact on the fly deployment) for rack-based frameworks (e.g. camping, sinatra).
I am facing an "issue" with passenger. For each application you need to configure nginx.conf (it would be the same with apache so it is not an nginx issue) with:
server {
...
passenger_base_uri /app1;
passenger_base_uri /app2;
passenger_base_uri /app3;
}
Now this is not inherently bad as, in theory, I could allow a user to run just one app on his webspace but even in this case I need to create a new server directory on nginx e.g. (user.domain.com).
As this will mainly be used to deploy apps the behavior I am looking at is more the possibility to auto map several apps (e.g. app1, app2, app3, app4) under the same server (your app.com/app1 yourapp.com/app2) without having to update the nginx or apache file each time.
This seems to be a limitation in passenger. As such I am thinking about an alternative with lighttpd and fastcgi.
Would this allow immediate deployment without touching the lighttpd config file e.g. I create a new directory with app2 and it will run immediately ? What is your experience in performance difference between passenger + nginx vs. lighttpd + fastcgi ?
thanks in advance
scenario details:
on nginx + passenger
- user cannot add a new sub-folder and run another sinatra/camping app without declaring the path on nginx.conf and restarting the server;
wished behavior with the new setup:
- user can add a new folder with a new app and it would run on lighttpd+fcgi without any extra configuration of the web server;