Flask application
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions.
from flask import Flask, render_template DEBUG = True SECRET_KEY = '_secret_' app = Flask(__name__) app.config.from_object(__name__) @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': app.run()
nginx configuration file
Nginx is a web server with a strong focus on high concurrency, performance and low memory usage.
server { server_name something.ua www.something.ua; location / { proxy_pass http://unix:/home/www/something/run/block.socket; include /etc/nginx/proxy.conf; } location /static { root /home/www/something/app; expires 24h; } }
supervisord configuration file
Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.
[program:something] command=/home/www/.virtualenvs/something/bin/gunicorn -c /home/www/something/conf/gunicorn.conf.py --chdir /home/www/something/app wsgi:app directory=/home/www/something/app user=www group=www autostart=True autorestart=True redirect_stderr=True daemon = False debug = False stdout_logfile=/home/www/something/logs/supervisor.log loglevel = "info" environment = PYTHON_EGG_CACHE="/home/www/something/.python-eggs"
wsgi.py file
from app import app if __name__ == "__main__": app.run()
gunicorn configuration file
Gunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX.
bind = "unix:/home/www/something/run/block.socket" workers = 2 logfile = "/home/www/something/logs/gunicorn.log" loglevel = "warning" proc_name = "something" daemon = False debug = False user="www"