如何在python中使用Gunicorn服務(wù)器-創(chuàng)新互聯(lián)

如何在python中使用Gunicorn服務(wù)器?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請域名雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、東鄉(xiāng)族網(wǎng)站維護(hù)、網(wǎng)站推廣。1. 簡介

Gunicorn(Green Unicorn)是給Unix用的WSGI HTTP 服務(wù)器,它與不同的web框架是非常兼容的、易安裝、輕、速度快。

如何在python中使用Gunicorn服務(wù)器

2. 示例代碼1
def app(environ, start_response):
  data = b"Hello World\n"
  start_response("200 OK", [
    ("Content-Type", "test/plain"),
    ("Content-Length", str(len(data)))
  ])
  return iter([data])

啟動(dòng)

gunicorn -w 4 myapp:app

起來后顯示

[2016-12-12 00:20:12 +0000] [11755] [INFO] Starting gunicorn 19.6.0
[2016-12-12 00:20:12 +0000] [11755] [INFO] Listening at: http://127.0.0.1:8000 (11755)
[2016-12-12 00:20:12 +0000] [11755] [INFO] Using worker: sync
[2016-12-12 00:20:12 +0000] [11760] [INFO] Booting worker with pid: 11760
[2016-12-12 00:20:12 +0000] [11761] [INFO] Booting worker with pid: 11761
[2016-12-12 00:20:12 +0000] [11762] [INFO] Booting worker with pid: 11762
[2016-12-12 00:20:12 +0000] [11763] [INFO] Booting worker with pid: 11763

此時(shí),調(diào)用http://127.0.0.1:8000

$curl http://127.0.0.1:8000
Hello World

參數(shù)說明

-w 處理HTTP請求的worker進(jìn)程數(shù),以下兩種啟動(dòng)方式等價(jià)

gunicorn -w 4 myapp:app
gunicorn --workers=4 myapp:app

參考:

 -w INT, --workers INT
            The number of worker processes for handling requests.

問題:為何調(diào)用 http://ip:8000不行呢, 這個(gè)是什么請求呢?

默認(rèn)有-b參數(shù),參考

 -b ADDRESS, --bind ADDRESS
            The socket to bind. [['127.0.0.1:8000']]

以下方式啟動(dòng)就可以用ip的方式啟動(dòng)了

sudo gunicorn -w 2 -b 0.0.0.0:4000 myapp:app
3. 示例代碼2

之前簡單的flask方法

from flask import Flask
app = Flask(__name__)

@app.route('/hello.world')
def check():
  return 'hello world!'


if __name__ == '__main__':
  app.run()

啟動(dòng)

$sudo gunicorn -b 0.0.0.0:300 -w 4 myapp3:app
[2016-12-18 19:19:51 +0000] [21005] [INFO] Starting gunicorn 19.6.0
[2016-12-18 19:19:51 +0000] [21005] [INFO] Listening at: http://0.0.0.0:300 (21005)
[2016-12-18 19:19:51 +0000] [21005] [INFO] Using worker: sync
[2016-12-18 19:19:51 +0000] [21010] [INFO] Booting worker with pid: 21010
[2016-12-18 19:19:51 +0000] [21011] [INFO] Booting worker with pid: 21011
[2016-12-18 19:19:51 +0000] [21014] [INFO] Booting worker with pid: 21014
[2016-12-18 19:19:51 +0000] [21017] [INFO] Booting worker with pid: 21017

測試

$curl localhost:300/hello.world
hello world!
4. 啟動(dòng)異常
[ERROR] Connection in use: ('127.0.0.1', 8000)

原因之一是之前啟動(dòng)的進(jìn)程沒有殺死。

注:ctrl+z 是掛起進(jìn)程,但沒有終止。ctrl+c是終止進(jìn)程。

如果使用了ctrl+z再回到進(jìn)程中可使用fg命令,這樣可以用ctrl+c來關(guān)閉進(jìn)程

看完上述內(nèi)容,你們掌握如何在python中使用Gunicorn服務(wù)器的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:如何在python中使用Gunicorn服務(wù)器-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://www.muchs.cn/article44/ddsphe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、域名注冊、網(wǎng)站設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、軟件開發(fā)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)