Python虚拟环境安装(python3.5)
1.python3.5有自带的pyvenv,我们可以很轻松的创建一个python3.5的虚拟环境
pyvenv py35
2.激活虚拟环境的python
source py35/bin/activate
3.激活成功后,可以在控制台看到变化
(py35) [limingming@limingming ~]$
安装Flask
pip install flask
安装Gunicorn
pip install genicurn
安装Nginx
yum install nginx
写一个最简单的Flask应用(HelloWorld)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World'
使用Gunicorn运行
nohup gunicorn -w 1 -b 127.0.0.1:8080 /home/limingming/boom/boom:app &
说明:使用nohup的原因是为了让进程在后台运行
测试:curl 'localhost:8080'
使用Supervisor管理Gunicorn进程
pip install supervisor
说明
系统会提供supervisor只能使用python2.4或之后的版本,但是不能使用python
所以我们切换回系统自带的python2.7,然后进行安装
在Supervisor中配置Gunicorn进行
[program:helloworld]
command=/home/limingming/py35/bin/python3.5 /home/limingming/py3env/bin/gunicorn -w 1 -b 127.0.0.1:8080 /home/limingming/boom/boom:app
process_name=helloworld
mask=022
autorestart=true
startsecs=1
stopwaitsecs=1
exitcodes=0,2
redirect_stderr=false
numprocs_start=1
numprocs=1
user=limingming
autostart=true
autorestart=true
startretries=10
stopsignal=KILL
stopasgroup=true
killasgroup=true
stdout_logfile=/home/limingming/log/accesslog/supervisord.helloworld.stdout.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=2
stderr_logfile=/home/limingming/log/errorlog/supervisord.helloworld.stderr.log
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=2
9.启动Supervisor进程
supervisord
进入Supervisor的控制台,查看进程信息
supervisorctl
测试Flask应用是否已经可以访问
curl 'localhost:8080'
在Nginx中配置Gunicorn(反向代理)
只需要在Nginx中配置好一个server
server {
listen 80;
server_name
//填你的域名
;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_redirect off;
proxy_pass 127.0.0.1:8080
}
}
测试nginx配置文件是否没有错误
nginx -t
重启nginx进程
sudo service nginx restart
测试80端口是否可以访问到flask
curl 'localhost'
网友评论