gunicorn的用法

27 篇文章 0 订阅

gunicorn

Gunicorn server的最基本的命令,直接用来运行最基本的 wsgi application 。

用法:

1 gunicorn [OPTIONS] APP_MODULE

OPTIONS 可选参数 运行gunicorn的配置选项,后面会讲到。

APP_MODULE 指定 wsgi application文件,书写格式 ( M O D U L E N A M E ) : (MODULE_NAME): (MODULENAME):(VARIABLE_NAME)。
  
其中 module_name用来制定将要运行的 wsgi application文件,可是一个完整的点缀名。
比如当前目录 myapp 目录下有个 Python 包 gunicorn_app, gunicorn_app包下有一个wsgi application文件 test.py 则 module_name可以直接写成 gunicorn_app.test。
  
viriable_name表示在 module_name 文件中要调用的对象(是一个WSGI callable, 可以是一个函数,类详情参看WSGI规格说明书)名。

按照上面的例子,当前目录为 /home/user/myapp, myapp中有一个包 gunicorn_app,test.py代码如下:

# test.py
# -*- coding: utf-8 -*-

from flask import Flask, json, jsonify,make_response,request

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

# 返回json
@app.route('/foo')
def foo():
    data ={
        'ide':'Spyder',
        'lang':'python'
    }
    response = jsonify(data)
    response.status_code = 200
    return response

# 返回json
@app.route('/get/<int:start>')
def get(start):
    data = [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 15, 18, 200, 300, 800]
    temp = [e for e in data if e > start]
    s = str(temp)
    print(data)
    print(s)
    return jsonify({'data': s}),200

#@app.route('/get',params={'code':},methods=['GET'])

#接受json输入参数
@app.route('/data' , methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        a = request.get_data()
        dict1 = json.loads(a)
        # 根据这个来进行调度数据 =>SQL操作
        # return json.dumps(dict1["data"])
        return json.dumps(dict1["data"])
    else:
        return '<h1>只接受post请求!</h1>'

我们将要运行 test.py文件中的 app(当然名字由你决定,可以是myapp,demo等等)

1 gunicorn gunicorn_app.test:app

命令中 module_name 为 gunicorn_app.test ;viriable_name为 app。
  当然如果我们这样直接运行Gunicorn的话,Gunicorn的所有配置都是默认值,后面会讲到如何配置Gunicorn。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值