Gunicorn
Gunicorn ‘Green Unicorn’ 是一个给 UNIX 用的 WSGI HTTP 服务器。这是一个从 Ruby 的 Unicorn 项目移植的 pre-fork worker 模式。它既支持 eventlet ,也支持 greenlet 。
安装
在这个服务器上运行 Flask 应用是相当简单的:
Gunicorn 提供了许多命令行选项 —— 见 gunicorn -h 。 例如,用四个 worker 进程( gunicorn -h )来运行一个 Flask 应用,绑定到 localhost 的4000 端口( -b127.0.0.1:4000 ):
1
| gunicorn -w 4 -b 127.0.0.1:4000 myproject:app
|
配置文件方式启动
1
| gunicorn -c gunicorn.conf.py app:app
|
配置内容为:
1 2 3 4 5 6 7 8 9 10
| # coding=utf-8
import multiprocessing
bind = "127.0.0.1:8000" #绑定的ip与端口 workers = 4 #核心数 errorlog = '/home/yu/project/log/bus/gunicorn.error.log' #发生错误时log的路径 accesslog = '/home/yu/project/log/bus/gunicorn.access.log' #正常时的log路径 #loglevel = 'debug' #日志等级 proc_name = 'project_bus' #进程名
|
nginx https配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| server { listen 80; listen 443 ssl; server_name api.lovek.vip; #填写绑定证书的域名 ssl on; ssl_certificate ssl/api_lovek_vip.crt; ssl_certificate_key ssl/api_lovek_vip.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on;
location / { proxy_pass http://127.0.0.1:8000; proxy_pass_header Authorization; proxy_pass_header WWW-Authenticate; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
location /static/ { root home/yu/project/python/; } }
|
重启ngixn服务
1 2
| sudo service nginx restart centos7 sudo systemctl start nginx.service
|