最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Django+Uwsgi+Nginx 實(shí)現(xiàn)生產(chǎn)環(huán)境部署

 更新時(shí)間:2018年11月06日 08:59:35   作者:棲遲於一丘  
這篇文章主要介紹了詳解Django+Uwsgi+Nginx 實(shí)現(xiàn)生產(chǎn)環(huán)境部署,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

uwsgi介紹

uWSGI是一個(gè)Web服務(wù)器,它實(shí)現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議。Nginx中HttpUwsgiModule的作用是與uWSGI服務(wù)器進(jìn)行交換。

要注意 WSGI / uwsgi / uWSGI 這三個(gè)概念的區(qū)分。

WSGI是一種Web服務(wù)器網(wǎng)關(guān)接口。它是一個(gè)Web服務(wù)器(如nginx,uWSGI等服務(wù)器)與web應(yīng)用(如用Flask框架寫(xiě)的程序)通信的一種規(guī)范。

uwsgi是一種線路協(xié)議而不是通信協(xié)議,在此常用于在uWSGI服務(wù)器與其他網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)通信。

而uWSGI是實(shí)現(xiàn)了uwsgi和WSGI兩種協(xié)議的Web服務(wù)器。

uwsgi協(xié)議是一個(gè)uWSGI服務(wù)器自有的協(xié)議,它用于定義傳輸信息的類型(type of information),每一個(gè)uwsgi packet前4byte為傳輸信息類型描述,它與WSGI相比是兩樣?xùn)|西。

安裝uwsgi

pip install uwsgi

uwsgi不支持windows

測(cè)試啟動(dòng)

創(chuàng)建測(cè)試文件并寫(xiě)入:

def application(environ, start_response): 
status = '200 OK' 
output = 'Hello World! powerde by wsgi' 
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))] 
start_response(status, response_headers)
return [output.encode('utf8'),]

執(zhí)行命令:

uwsgi --http :8080 --file test.py

瀏覽器訪問(wèn)該端口,正常情況下能得到輸出。

用 uwsgi 啟動(dòng)django

uwsgi --http :8080 --file django_project/wsgi.py

頁(yè)面能訪問(wèn),但是靜態(tài)文件無(wú)法加載,需要

uwsgi --http :8080 --file django_project/wsgi.py --static-map=/static=static

靜態(tài)文件就能加載了。

參數(shù)說(shuō)明:

  • http 這個(gè)就和 runserver 一樣指定 IP 端口
  • file 這個(gè)文件就里有一個(gè)反射,如果你在調(diào)用他的時(shí)候沒(méi)有指定Web Server就使用默認(rèn)的
  • static 做一個(gè)映射,指定靜態(tài)文件

uwsgi配置文件啟動(dòng)django項(xiàng)目

uwsgi 支持的參數(shù)還挺多的,可以將他們寫(xiě)在配置文件中。在項(xiàng)目同級(jí)目錄創(chuàng)建 uwsgi.ini 文件:

# uwsig使用配置文件啟動(dòng)
[uwsgi]
# 項(xiàng)目目錄
chdir=/opt/webvirtcloud/
# 指定項(xiàng)目的application
module=webvirtcloud.wsgi:application
# 指定sock的文件路徑 
socket=/tmp/uwsgi.sock
# 進(jìn)程個(gè)數(shù) 
workers=5
pidfile=/tmp/uwsgi.pid
# 指定IP端口 
http=0.0.0.0:8080 # 如果和ngxin結(jié)合,本行注釋掉
# 指定靜態(tài)文件
static-map=/static=/opt/webvirtcloud/static
# 啟動(dòng)uwsgi的用戶名和用戶組
uid=root
gid=root
# 啟用主進(jìn)程
master=true
# 自動(dòng)移除unix Socket和pid文件當(dāng)服務(wù)停止的時(shí)候
vacuum=true
# 序列化接受的內(nèi)容,如果可能的話
thunder-lock=true
# 啟用線程
enable-threads=true
# 設(shè)置自中斷時(shí)間
harakiri=30
# 設(shè)置緩沖
post-buffering=4096
# 設(shè)置日志目錄
daemonize=/var/log/uwsgi.log

更多參數(shù)可見(jiàn): https://uwsgi-docs.readthedocs.io/en/latest/Options.html

執(zhí)行命令: uwsgi --ini uwsgi.ini ,命令都不再用shell終端,即使斷開(kāi)shell連接,頁(yè)面仍然能訪問(wèn)。

那要如何關(guān)閉或重啟它呢?

uwsgi --stop /tmp/uwsgi.pid

配置nginx

找到Nginx的配置文件,用虛擬域名的就在虛擬域名里寫(xiě):

server {
listen 80;
server_name localhost;

location / { 
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080; //必須和uwsgi中socket的設(shè)置一致
client_max_body_size 35m;
}
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器

    如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器

    這篇文章主要給大家介紹了關(guān)于如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-09-09
  • 淺析Python中全局變量和局部變量的使用

    淺析Python中全局變量和局部變量的使用

    一個(gè)變量的名稱除了可以代表不同的東西以外,也表示“哪里可以使用”這個(gè)變量,這篇文章將會(huì)介紹全局變量和局部變量的用法和差異,感興趣的可以了解下
    2021-06-06
  • python安裝oracle擴(kuò)展及數(shù)據(jù)庫(kù)連接方法

    python安裝oracle擴(kuò)展及數(shù)據(jù)庫(kù)連接方法

    這篇文章主要介紹了python安裝oracle擴(kuò)展及數(shù)據(jù)庫(kù)連接方法,較為詳細(xì)的分析了Python下載oracle擴(kuò)展及Windows、Linux環(huán)境下的安裝步驟、操作技巧及注意事項(xiàng),需要的朋友可以參考下
    2017-02-02
  • Python用5行代碼實(shí)現(xiàn)批量摳圖的示例代碼

    Python用5行代碼實(shí)現(xiàn)批量摳圖的示例代碼

    這篇文章主要介紹了Python用5行代碼實(shí)現(xiàn)批量摳圖的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 基于python實(shí)現(xiàn)把圖片轉(zhuǎn)換成素描

    基于python實(shí)現(xiàn)把圖片轉(zhuǎn)換成素描

    這篇文章主要介紹了基于python實(shí)現(xiàn)把圖片轉(zhuǎn)換成素描,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 簡(jiǎn)單介紹Python中的struct模塊

    簡(jiǎn)單介紹Python中的struct模塊

    這篇文章主要介紹了Python中的struct模塊,代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python流程控制語(yǔ)句的深入講解

    Python流程控制語(yǔ)句的深入講解

    這篇文章主要給大家介紹了關(guān)于Python流程控制語(yǔ)句的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python+pyqt實(shí)現(xiàn)12306圖片驗(yàn)證效果

    python+pyqt實(shí)現(xiàn)12306圖片驗(yàn)證效果

    這篇文章主要為大家詳細(xì)介紹了python+pyqt實(shí)現(xiàn)12306圖片驗(yàn)證效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • python實(shí)現(xiàn)圖書(shū)館借閱系統(tǒng)

    python實(shí)現(xiàn)圖書(shū)館借閱系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖書(shū)館借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法

    Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法

    這篇文章主要介紹了Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論

宝坻区| 西乡县| 定边县| 福贡县| 双桥区| 繁昌县| 梅河口市| 峡江县| 土默特左旗| 益阳市| 黑山县| 新野县| 同仁县| 临汾市| 南召县| 台东县| 宝清县| 高密市| 南溪县| 牟定县| 普兰店市| 吉水县| 桂阳县| 湟源县| 砀山县| 临清市| 富民县| 临泉县| 瑞昌市| 通州市| 天台县| 嫩江县| 高平市| 巴林左旗| 双辽市| 北宁市| 阿拉善盟| 江华| 宽城| 隆昌县| 错那县|