Skip to content

Instantly share code, notes, and snippets.

@woodb
Created July 8, 2012 16:43
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save woodb/3071730 to your computer and use it in GitHub Desktop.
Save woodb/3071730 to your computer and use it in GitHub Desktop.
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