ajib6ept
5/16/2014 - 6:52 PM

uwsgi, nginx, flask - быстрый старт

uwsgi, nginx, flask - быстрый старт

###uwsgi, nginx, flask - быстрый старт###

Устанавливаем необходимые пакеты

# apt-get install uwsgi uwsgi-plugin-python nginx python-pip
# pip install virtualenv

Создаем виртуальное окружение и устанавливаем Flask

# mkdir /home/ajib6ept
# cd /home/ajib6ept
# virtualenv myflaskenv
# source myflaskenv/bin/activate
# pip install flask

Пишем простой пример приложения

# nano myflaskfile.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
    return "It works!"

if __name__ == "__main__":
    app.run()

Выходим

# deactivate

Настраиваем uwsgi

# nano /etc/uwsgi/apps-available/flaskuwsgi.ini
[uwsgi]
socket = /tmp/flask.sock
pythonpath = /home/ajib6ept/
module = myflaskfile:app
plugins = python27
virtualenv = /home/ajib6ept/myflaskenv/
# ln -s /etc/uwsgi/apps-available/flaskuwsgi.ini  /etc/uwsgi/apps-enabled/flaskuwsgi.ini

Настраиваем nginx

# nano /etc/nginx/sites-available/flask.conf
upstream flask_serv {
    server unix:/tmp/flask.sock;
}

server {
    listen 80;
    server_name ajib6ept.com;

    location / {
        uwsgi_pass flask_serv;
        include uwsgi_params;
    }
}
# ln -s /etc/nginx/sites-available/flask.conf /etc/nginx/sites-enabled/flask.conf

Перезапускаем, ошибок быть не должно

service nginx restart
service uwsgi restart

Тестировалось на digitalocean.com [Debian 7.0 x64]