1.安装supervisor
$ sudo pip install supervisor
创建一个Flask程序
创建虚拟环境:
$ mkdir /tmp/wwwroot/web1 $ cd /tmp/wwwroot/web1 $ virtualenv deps $ source deps/bin/activate $ pip install flask gunicorn
创建一个简单的Flask程序:
$ cat > myapp.py << EOF
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "hello flask 01"
使用gunicorn执行Flask程序:
最简单的用法:
$ gunicorn -b 127.0.0.1:3721 myapp:app
现在访问http://127.0.0.1:3721,应该可以看到"hello flask 01"。
这里3721端口只是一个演示。
2.配置supervisor
创建配置文件:
$ cd /tmp/wwwroot $ echo_supervisord_conf > supervisor.conf $ cat >> supervisor.conf << EOF
[program:myapp] ;user=digwtx command=/tmp/wwwroot/web1/deps/bin/gunicorn -b 127.0.0.1:3721 myapp:app directory=/tmp/wwwroot/web1 process_name=%(program_name)s ; process_name expr (default %(program_name)s) numprocs=1 ; number of processes copies to start (def 1) stopsignal=QUIT ; signal used to kill process (default TERM) redirect_stderr=true ; redirect proc stderr to stdout (default false) stdout_logfile=/tmp/myapp.log ; stdout log path, NONE for none; default AUTO
启动进程:
$ supervisord -c supervisor.conf
管理进程:
$ supervisorctl -c supervisor.conf
3.配置nginx:
主要是把请求转交给gunicorn进行处理。
server { listen 8080; #默认请求 location / { #请求转向本机ip:3721 proxy_pass http://127.0.0.1:3721; # 这里是gunicorn监听的地址 proxy_redirect off; proxy_set_header Host $host:8080; #如果端口不是80要写上 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
现在重启nginx,访问http://127.0.0.1:8080应该可以看到"hello flask 01"。
自动启动:
那么,如果想开机时自动启动怎么办呢?或者说,如果机器重启了,那WEB服务就断了。
其实呢,也很简单,只要在/etc/rc.d/rc.local中加入一句就可以了:
supervisord -c /tmp/wwwroot/supervisor.conf
标签:SQLite
相关阅读 >>
android studio 使用adb 命令传递文件到android 设备的方法
django 将自带的数据库Sqlite3改成mysql实例
更多相关阅读请进入《Sqlite》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。