Here you'll find a config used to set up an example deployment environment for a Python WSGI stack, including:
- A Django site deployed with Pip, Virtualenv, and Fabric.
- Apache/mod_wsgi and Gunicorn application servers.
- Nginx load balancers and media servers.
- Memcached.
- PostgreSQL with pgpool
Install putty, virtualbox, ruby (jruby on 64bit oses) and vagrant.
After installing ruby or jruby and the devkit , open a cmd shell and do a (j)gem install vagrant
Make a dir to put the Vagrantfile. Eg. C:\vagrant\, put the Vagrantfile here, hold shift and right clik the dir and "Open command window here", run:
vagrant up
Connect to 127.0.0.1:4422 using putty with the keyfile C:\Ruby192\lib\ruby\gems\1.9.1\gems\vagrant-0.7.2\keys\vagrant.ppk, depending on ruby version.
In the terminal window (putty) do:
sudo apt-get install git-core
cd /vagrant/
git clone https://github.com/fivethreeo/django-deployment-workshop.git
cd django-deployment-workshop
sudo bash bootstrap_dev.sh
fab -R develop -p vagrant config setup_all
Open a webbrowser to http://127.0.0.1:4480/admin/, login using user: carpool password: carpool
- Ubuntu.
- git (also see the git book).
- Pip.
- Virtualenv.
- Django; see particularly the settings reference.
- Apache; the directive quick reference is especially useful.
- Gunicorn
- PostgreSQL docs, including:
- Server configuration (
postgresql.conf
).- Client authentication (
pg_hba.conf
).- Fabric.
- Nginx, specifically the upstream and proxy modules.
- memcached.
- Django's caching framework.
- pgpool2.