Flask + Gunicorn + Supervisor + Nginx
This morning, I deployed a Flask application in a Ubuntu 13.04 server with Nginx and Gunicorn. Here is the configuration: 0. My app code base (blog): /projects/blog/ 1. I created a shell script to run gunicorn: /projects/blog/blogguni.sh ======================== #!/bin/bash NUM_WORKERS=4 # user/group to run as ADDRESS=127.0.0.1:5000 cd /projects/blog /projects/.venv/blog/bin/gunicorn blog:app -w $NUM_WORKERS -b $ADDRESS 2. Supervisor configuration: /etc/supervisor/conf.d/blogguni.conf ========================== [program:blogguni] directory = /projects/blog/flaskr/ user = dangtrinhnt command = /projects/blog/blogguni.sh stdout_logfile = /projects/logs/supervisor_blog.log stderr_logfile = /projects/logs/supervisor_blog_error.log 3. Nginx configuration: /etc/nginx/sites-available/blog ==================== upstream blog { server localhost:5000 fail_timeout=0; } server { listen 80; server_name dangtrinhnt.kd.io; access_log /project