Multiple web frameworks on a small linode
I would like to run multiple web frameworks alongside each other to host a few small low traffic sites as well as to play with some new stuff.
I would like to run mono, php, rails, sinatra, django and node for example as well as a db like Postgres.
Does anyone have any suggestions or advice on how I should go about this? Apache vs nginx? Apache modules vs Fast CGI?
As I mentioned the live sites and any play projects that become live will be low traffic so performance is not a major consideration although I will be initially going for the smallest linode so maybe memory will be tight? I guess simplicity of set up / configuration is a bigger priority for me right now.
Thanks in advance for any help!
Simon
5 Replies
I use uWSGI for Django which I manage with pip. My Django sites are kept in multiple Virtual environments which I recommend you become familiar with.
I use Dotdeb to manage cutting edge installs of everything else I use such as Redis, MySQL, PHP-FPM, etcetera. I also swear by Nginx and use dotdeb to manage this.
I host roughly 7 sites a couple of which are high traffic. The software I have chosen keeps my memory down. The only package I am unhappy with is MySQL. However it is easier for me to keep it for the Word Press sites I host.
I probably have 340-380 memory free on a Linode 512. Soon I will be running my IRSSI through it as well and it may take up a bit more.
I would recommend using virtual machines to play with any new software. Do not do this on the production server.
Thanks for your reply. I have gone for NginX as you suggested and have successfully got mono and node running side by side.
Next step Django!
Thanks again.
Simon
@firecube:
Next step Django!
Django recommends mod_wsgi and Apache:
Graham Dumpleton, inventor and maintainer of modwsgi, has some advice on nginx request blocking and modwsgi:
James
Anyways I run my Django with uWSGI with success. Before this I was using Gunicorn on a VM. After lots of research uWSGI is your best alongside Nginx. I use the pip install. I would also recommend you look into virtualenv and virtualenvwrapper.