gunicorn是一个python Wsgi的WEB服务框架,只支持在Unix系统上运行,来源于Ruby的unicorn项目。虽然可以独自运行,但功能比较单一,通常是部署在Apache,Nginx之后。Gunicorn使用prefork master-worker模型,能够与各种wsgi web框架协作。
安装gunicorn和flask
# *===================================*
# -*- coding: utf-8 -*-
# * Time : 2019-06-26 15:11
# * Author : zhangsf
# *===================================*
# encoding:utf-8
from flask import Flask, redirect, url_for
app = Flask(__name__)
@app.route('/') # 首页
def index():
login_url = url_for('login')
print("这是首页")
return redirect(login_url) # 重定向为登录页面
return u'这是首页'
@app.route('/login/') # 登录页面
def login():
return u'这是登录页面'
@app.route('/question/<is_login>') # 问答页面
def question(is_login):
if is_login == '1':
return u'这是问答页面'
else:
return redirect(url_for('login.index'))
if __name__ == '__main__':
app.run(host='127.0.0.1', port='5008', debug=True)
然后就在shell界面切换到login的目录之下
gunicorn -w 3 -b 0.0.0.0:5008 login:app

备注:
- -b 表示 gunicorn 开发的访问地址
- -w 表示开启多少个线程
- 设置0.0.0.0可以监听到所有ip的请求
- login.py:app就是那个wsgifunc的名字
端口绑定问题:
linux通常会禁止绑定使用1024以下的端口,除非在root用户权限。
在使用gunicorn时试图将其绑定到80或者443端口,发现无效。
试了使用80端口发现无效

使用petree查看列出关于gunicorn的所有进程
(base) zhagnsf:~ zhangsf$ pstree |grep gunicorn
| | \--- 41047 zhangsf grep gunicorn
| |-+= 39835 zhangsf /Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /Library/Frameworks/Python.framework/Versions/3.7/bin/gunicorn -b 0.0.0.0:5006 login:app
| | \--- 39838 zhangsf /Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /Library/Frameworks/Python.framework/Versions/3.7/bin/gunicorn -b 0.0.0.0:5006 login:app
| \-+= 40365 zhangsf /Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /Library/Frameworks/Python.framework/Versions/3.7/bin/gunicorn -w 3 -b 0.0.0.0:5008 login:app
| |--- 40368 zhangsf /Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /Library/Frameworks/Python.framework/Versions/3.7/bin/gunicorn -w 3 -b 0.0.0.0:5008 login:app
| |--- 40369 zhangsf /Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /Library/Frameworks/Python.framework/Versions/3.7/bin/gunicorn -w 3 -b 0.0.0.0:5008 login:app
| \--- 40370 zhangsf /Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python /Library/Frameworks/Python.framework/Versions/3.7/bin/gunicorn -w 3 -b 0.0.0.0:5008 login:app
1784

被折叠的 条评论
为什么被折叠?



