国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

詳解使用Nginx和uWSGI配置Python的web項(xiàng)目的方法

2024-08-30 12:26:28
字體:
供稿:網(wǎng)友

基于python的web項(xiàng)目,常見的部署方法有:

      fcgi:用spawn-fcgi或者框架自帶的工具對各個(gè)project分別生成監(jiān)聽進(jìn)程,然后和http服務(wù)互動。       wsgi:利用http服務(wù)的mod_wsgi模塊來跑各個(gè)project。

不過還有個(gè)uwsgi,它既不用wsgi協(xié)議也不用fcgi協(xié)議,而是自創(chuàng)了一個(gè)uwsgi的協(xié)議,據(jù)作者說該協(xié)議大約是fcgi協(xié)議的10倍那么快。uWSGI的主要特點(diǎn)如下:

       超快的性能。        低內(nèi)存占用(實(shí)測為apache2的mod_wsgi的一半左右)。        多app管理。        詳盡的日志功能(可以用來分析app性能和瓶頸)。        高度可定制(內(nèi)存大小限制,服務(wù)一定次數(shù)后重啟等)。

環(huán)境ubuntu 12.04 IP:10.1.6.79

安裝nginx

apt-get install nginx-full nginx-common

nginx配置/etc/nginx/sites-enabled/example

server {    listen     80;    server_name   10.1.6.79;    access_log   /var/log/nginx/example_access.log;    error_log    /var/log/nginx/example_error.log;    root      /var/www/example;    location / {      uwsgi_pass   127.0.0.1:9001;      include     uwsgi_params;      uwsgi_param   UWSGI_SCHEME $scheme;      uwsgi_param   SERVER_SOFTWARE  nginx/$nginx_version;    }}

安裝uwsgi

apt-get install uwsgi uwsgi-plugin-python

    如果你想安裝所有的uwsgi插件,則可以安裝uwsgi-plugin-all軟件包

uwsgi配置/etc/uwsgi/apps-enabled/default.xml

<uwsgi>  <plugin>python</plugin>  <socket>127.0.0.1:9001</socket>  <pythonpath>/var/www/example/app/</pythonpath>  <app mountpoint="/">    <script>wsgi_configuration_module</script>  </app>  <master/>  <processes>4</processes>  <reload-mercy>8</reload-mercy>  <cpu-affinity>1</cpu-affinity>  <max-requests>2000</max-requests>  <limit-as>512</limit-as>  <reload-on-as>256</reload-on-as>  <reload-on-rss>192</reload-on-rss>  <no-orphans/>  <vacuum/></uwsgi>

    uwsgi配置文件中的參數(shù)也可以在命令行通過uwsgi指定,配置文件除了xml格式外,還可以寫成ini格式的,軟件包安裝完畢后在/usr/share/doc/uwsgi/examples/conffile目錄下會有一些xml和ini格式配置文件的例子。

wsgi_configuration_module.py腳本內(nèi)容

#!/usr/bin/pythonimport osimport syssys.path.append('/var/www/example/app')os.environ['PYTHON_EGG_CACHE'] = '/var/www/example/.python-egg'def application(environ, start_response):  status = '200 OK'  output = 'Hello World!'  response_headers = [('Content-type', 'text/plain'),          ('Content-Length', str(len(output)))]  start_response(status, response_headers)  return [output]            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 文水县| 伊春市| 牙克石市| 阿巴嘎旗| 铜鼓县| 九江县| 连山| 汉沽区| 万载县| 醴陵市| 英吉沙县| 哈密市| 卢龙县| 巩留县| 庄浪县| 马尔康县| 和政县| 胶州市| 泾川县| 凌海市| 潼南县| 无极县| 胶南市| 渝北区| 牙克石市| 淄博市| 杭锦后旗| 新巴尔虎右旗| 丰原市| 图片| 买车| 泽普县| 肃北| 留坝县| 咸宁市| 阜城县| 明溪县| 琼海市| 黔东| 甘德县| 玉溪市|