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

在Linux系統(tǒng)上通過(guò)uWSGI配置Nginx+Python環(huán)境的教程

 更新時(shí)間:2015年12月25日 16:20:51   投稿:goldensun  
這篇文章主要介紹了在Linux系統(tǒng)上通過(guò)uWSGI配置Nginx+Python環(huán)境的教程,示例中為Ubuntu系統(tǒng)并且默認(rèn)使用系統(tǒng)中自帶的Python解釋器,需要的朋友可以參考下

1.安裝ubuntu有uwsgi的ppa:

add-apt-repository ppa:stevecrozz/ppa 
apt-get update 
apt-get install uwsgi 

2. 用uwsgi代替mod_wsgi

Nginx 的整體配置這里不說(shuō)了,假設(shè)已經(jīng)明白 Nginx的基本配置,那么uwsgi就類(lèi)似這么配置:

  location / { 
   include uwsgi_params 
   uwsgi_pass 127.0.0.1:9090 
  } 

再比如django就是:

 ....... 
 from django.core.handlers.wsgi import WSGIHandler 
 application = WSGIHandler() 

然后運(yùn)行uwsgi監(jiān)聽(tīng)9090,其中-w后跟模塊名,也就是剛才配置的myapp

 uwsgi -s :9090 -w myapp 

運(yùn)行網(wǎng)站發(fā)現(xiàn)已經(jīng)部署完成了。

3.uwsgi的參數(shù)

以上是單個(gè)project的最簡(jiǎn)單化部署,uwsgi還是有很多令人稱(chēng)贊的功能的,例如:

并發(fā)4個(gè)線(xiàn)程:

 uwsgi -s :9090 -w myapp -p 4 

主控制線(xiàn)程+4個(gè)線(xiàn)程:

 uwsgi -s :9090 -w myapp -M -p 4 

執(zhí)行超過(guò)30秒的client直接放棄:

 uwsgi -s :9090 -w myapp -M -p 4 -t 30 

限制內(nèi)存空間128M:

 uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 

服務(wù)超過(guò)10000個(gè)req自動(dòng)respawn:

 uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 -R 10000 

后臺(tái)運(yùn)行等:

 uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 -R 10000 -d uwsgi.log 

4.為uwsgi配置多個(gè)站點(diǎn)

為了讓多個(gè)站點(diǎn)共享一個(gè)uwsgi服務(wù),必須把uwsgi運(yùn)行成虛擬站點(diǎn):去掉“-w myapp”加上”–vhost”:

 uwsgi -s :9090 -M -p 4 -t 30 --limit-as 128 -R 10000 -d uwsgi.log --vhost 

然后必須配置virtualenv,virtualenv是Python的一個(gè)很有用的虛擬環(huán)境工具,這樣安裝:

 apt-get install Python-setuptools
 easy_install virtualenv 

然后設(shè)置一個(gè)/多個(gè)app基準(zhǔn)環(huán)境:

 virtualenv /var/www/myenv 

應(yīng)用環(huán)境,在此環(huán)境下安裝的軟件僅在此環(huán)境下有效:

 source /var/www/myenv/bin/activate 
 pip install django 
 pip install mako 
 ... 

最后配置nginx,注意每個(gè)站點(diǎn)必須單獨(dú)占用一個(gè)server,同一server不同location定向到不同的應(yīng)用不知為何總是失敗,估計(jì)也 算是一個(gè)bug。

 
   server { 
     listen    80; 
     server_name app1.mydomain.com; 
     location / { 
         include uwsgi_params; 
         uwsgi_pass 127.0.0.1:9090; 
         uwsgi_param UWSGI_PYHOME /var/www/myenv; 
         uwsgi_param UWSGI_SCRIPT myapp1; 
         uwsgi_param UWSGI_CHDIR /var/www/myappdir1; 
     } 
   } 
   server { 
     listen    80; 
     server_name app2.mydomain.com; 
     location / { 
         include uwsgi_params; 
         uwsgi_pass 127.0.0.1:9090; 
         uwsgi_param UWSGI_PYHOME /var/www/myenv; 
         uwsgi_param UWSGI_SCRIPT myapp2; 
         uwsgi_param UWSGI_CHDIR /var/www/myappdir2; 
     } 
   } 

這樣,重啟nginx服務(wù),兩個(gè)站點(diǎn)就可以共用一個(gè)uwsgi服務(wù)了。

相關(guān)文章

  • OpenCV結(jié)合selenium實(shí)現(xiàn)滑塊驗(yàn)證碼

    OpenCV結(jié)合selenium實(shí)現(xiàn)滑塊驗(yàn)證碼

    本文主要介紹了OpenCV結(jié)合selenium實(shí)現(xiàn)滑塊驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 使用Python實(shí)現(xiàn)博客上進(jìn)行自動(dòng)翻頁(yè)

    使用Python實(shí)現(xiàn)博客上進(jìn)行自動(dòng)翻頁(yè)

    這篇文章主要介紹了使用Python實(shí)現(xiàn)博客上進(jìn)行自動(dòng)翻頁(yè),需要的朋友可以參考下
    2017-08-08
  • python中Flask?Web?表單的使用方法介紹

    python中Flask?Web?表單的使用方法介紹

    這篇文章主要介紹了python中Flask?Web?表單的使用方法介紹,表單的操作是Web程序開(kāi)發(fā)中最核心的模塊之一,絕大多數(shù)的動(dòng)態(tài)交互功能都是通過(guò)表單的形式實(shí)現(xiàn)的。更多介紹需要的小伙伴可以參考下面文章內(nèi)容
    2022-05-05
  • 詳解pycharm自動(dòng)import所需的庫(kù)的操作方法

    詳解pycharm自動(dòng)import所需的庫(kù)的操作方法

    這篇文章主要介紹了pycharm自動(dòng)import所需的庫(kù)的操作方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python中DataFrame判斷兩列數(shù)據(jù)是否相等的方法

    Python中DataFrame判斷兩列數(shù)據(jù)是否相等的方法

    本文主要介紹了DataFrame判斷兩列數(shù)據(jù)是否相等的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決

    Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決

    這篇文章主要介紹了Python定義函數(shù)時(shí)參數(shù)有默認(rèn)值問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python使用pyshark庫(kù)捕獲數(shù)據(jù)包的示例詳解

    python使用pyshark庫(kù)捕獲數(shù)據(jù)包的示例詳解

    PyShark是一個(gè)基于Python的網(wǎng)絡(luò)數(shù)據(jù)包分析工具庫(kù),它允許用戶(hù)捕獲、解碼和分析實(shí)時(shí)網(wǎng)絡(luò)流量,特別是Wi-Fi和TCP/IP協(xié)議的數(shù)據(jù),所以本文給大家介紹了python使用pyshark庫(kù)捕獲數(shù)據(jù)包的示例,需要的朋友可以參考下
    2024-08-08
  • 如何在Django中添加沒(méi)有微秒的 DateTimeField 屬性詳解

    如何在Django中添加沒(méi)有微秒的 DateTimeField 屬性詳解

    這篇文章主要給大家介紹了關(guān)于如何在Django中添加沒(méi)有微秒的 DateTimeField 屬性的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Python中的取模運(yùn)算方法

    Python中的取模運(yùn)算方法

    今天小編就為大家分享一篇Python中的取模運(yùn)算方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • PyInstaller與pathlib包不兼容的解決方法

    PyInstaller與pathlib包不兼容的解決方法

    當(dāng)我們?cè)谑褂肞yInstaller打包Python程序時(shí),可能會(huì)遇到PyInstaller與pathlib包不兼容的問(wèn)題,這個(gè)錯(cuò)誤的原因是,pathlib這個(gè)包在?Python3.4版本之后已經(jīng)成為了Python標(biāo)準(zhǔn)庫(kù)的一部分,所以不需要再單獨(dú)安裝,所以本文給大家介紹了PyInstaller與pathlib包不兼容的解決方法
    2024-12-12

最新評(píng)論

抚顺县| 兰西县| 沙田区| 西平县| 浦县| 桂阳县| 桑植县| 宜都市| 团风县| 牡丹江市| 通许县| 桐城市| 大城县| 汾西县| 杭锦旗| 嘉荫县| 贵德县| 临洮县| 镇雄县| 光山县| 宽甸| 乐陵市| 奎屯市| 南召县| 万荣县| 东兴市| 东宁县| 徐闻县| 海林市| 保康县| 永宁县| 文登市| 三都| 塔河县| 崇阳县| 岐山县| 多伦县| 菏泽市| 永德县| 曲周县| 郎溪县|