Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Shell script to get setup with Flask, nginx and uWSGI on an Amazon EC2 Linux image
#!/bin/bash
#
# Shell script to automatically configure a new Flask, nginx and uWSGI based blog
# on an Amazon EC2 instance.
#
# See http://bit.ly/MeGwjD for more information!
#
# If you are forking this for your own custom configuration script, see the following other gists:
# https://gist.github.com/3071737
# https://gist.github.com/3071739
# https://gist.github.com/3071740
#
sudo yum install python26 python26-devel make automake nginx gcc gcc-c++ python-setuptools git
sudo easy_install pip
sudo pip install uwsgi virtualenv
cd ~
git clone https://github.com/orf/simple.git myblog
cd ~/myblog
virtualenv venv
. venv/bin/activate
pip install Flask Flask-SQLAlchemy markdown
python create_config.py
cd ~
sudo mkdir -p /var/www/run
sudo cp -R myblog /var/www/blog
sudo chown -R nginx:nginx /var/www/
sudo mkdir -p /var/log/uwsgi
sudo mkdir -p /etc/uwsgi/apps-available
sudo mkdir -p /etc/uwsgi/apps-enabled
sudo wget https://raw.github.com/gist/3071737/3f3a2a4a48285801a8df1e71aaff830276c035e6/uwsgi.conf /etc/init/uwsgi.conf
sudo vim /etc/init/uwsgi.conf
sudo wget https://raw.github.com/gist/3071739/c454ab48a8ba419bb943faf9272691810beeaf60/blog.ini /etc/uwsgi/apps-available/blog.ini
sudo vim /etc/uwsgi/apps-available/blog.ini
sudo ln -s /etc/uwsgi/apps-available/blog.ini /etc/uwsgi/apps-enabled/blog.ini
sudo wget https://raw.github.com/gist/3071740/5d438fc01f105b917386f2ada2e7912f65b7ed17/default.conf /etc/nginx/conf.d/default.conf
sudo vim /etc/nginx/conf.d/default.conf
sudo service nginx start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment