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'