?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
在前面的章節(jié)中我們使用 python manage.py runserver 來運(yùn)行服務(wù)器。這只適用測(cè)試環(huán)境中使用。
正式發(fā)布的服務(wù),我們需要一個(gè)可以穩(wěn)定而持續(xù)的服務(wù)器,比如apache, Nginx, lighttpd等,本文將以 Nginx 為例。
Centos 下安裝步驟如下:
yum?groupinstall?"Development?tools" yum?install?zlib-devel?bzip2-devel?pcre-devel?openssl-devel?ncurses-devel?sqlite-devel?readline-devel?tk-devel
CentOS 自帶 Python 2.4.3,但我們可以再安裝Python2.7.5:
cd?~ wget?http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2 tar?xvf?Python-2.7.5.tar.bz2 cd?Python-2.7.5 ./configure?--prefix=/usr/local make?&&?make?altinstall
easy_install包 https://pypi.python.org/pypi/distribute
安裝步驟:
cd?~ wget?https://pypi.python.org/packages/source/d/distribute/distribute-0.6.49.tar.gz tar?xf?distribute-0.6.49.tar.gz cd?distribute-0.6.49 python2.7?setup.py?install easy_install?--version
pip包: https://pypi.python.org/pypi/pip
安裝pip的好處是可以 pip list、pip uninstall 管理Python包, easy_install 沒有這個(gè)功能,只有uninstall
uwsgi:https://pypi.python.org/pypi/uWSGI
uwsgi參數(shù)詳解:http://uwsgi-docs.readthedocs.org/en/latest/Options.html
pip?install?uwsgi uwsgi?--version????#查看?uwsgi?版本
測(cè)試uwsgi是否正常:
新建test.py文件,內(nèi)容如下:
def?application(env,?start_response): start_response('200?OK',?[('Content-Type','text/html')]) return?"Hello?World"
然后在終端運(yùn)行:
uwsgi?--http?:8001?--wsgi-file?test.py
在瀏覽器內(nèi)輸入:http://127.0.0.1:8001,查看是否有"Hello World"輸出,若沒有輸出,請(qǐng)檢查你的安裝過程。
pip?install?django
測(cè)試django是否正常,運(yùn)行:
django-admin.py?startproject?demosite cd?demosite python2.7?manage.py?runserver?0.0.0.0:8002
在瀏覽器內(nèi)輸入:http://127.0.0.1:8002,檢查django是否運(yùn)行正常。
安裝命令如下:
cd?~ wget?http://nginx.org/download/nginx-1.5.6.tar.gz tar?xf?nginx-1.5.6.tar.gz cd?nginx-1.5.6 ./configure?--prefix=/usr/local/nginx-1.5.6?\ --with-http_stub_status_module?\ --with-http_gzip_static_module make?&&?make?install
你可以閱讀 Nginx 安裝配置 了解更多內(nèi)容。
uwsgi支持ini、xml等多種配置方式,本文以 ini 為例, 在/ect/目錄下新建uwsgi9090.ini,添加如下配置:
[uwsgi] socket?=?127.0.0.1:9090 master?=?true?????????//主進(jìn)程 vhost?=?true??????????//多站模式 no-site?=?true????????//多站模式時(shí)不設(shè)置入口模塊和文件 workers?=?2???????????//子進(jìn)程數(shù) reload-mercy?=?10????? vacuum?=?true?????????//退出、重啟時(shí)清理文件 max-requests?=?1000??? limit-as?=?512 buffer-size?=?30000 pidfile?=?/var/run/uwsgi9090.pid????//pid文件,用于下面的腳本啟動(dòng)、停止該進(jìn)程 daemonize?=?/website/uwsgi9090.log
找到nginx的安裝目錄(如:/usr/local/nginx/),打開conf/nginx.conf文件,修改server配置:
server?{ ????????listen???????80; ????????server_name??localhost; ???????? ????????location?/?{???????????? ????????????include??uwsgi_params; ????????????uwsgi_pass??127.0.0.1:9090;??????????????//必須和uwsgi中的設(shè)置一致 ????????????uwsgi_param?UWSGI_SCRIPT?demosite.wsgi;??//入口文件,即wsgi.py相對(duì)于項(xiàng)目根目錄的位置,“.”相當(dāng)于一層目錄 ????????????uwsgi_param?UWSGI_CHDIR?/demosite;???????//項(xiàng)目根目錄 ????????????index??http://www.shouce.ren/api/view/a/7505?index.htm; ????????????client_max_body_size?35m; ????????} ????}
你可以閱讀 Nginx 安裝配置 了解更多內(nèi)容。
設(shè)置完成后,在終端運(yùn)行:
uwsgi?--ini?/etc/uwsgi9090.ini?& /usr/local/nginx/sbin/nginx
在瀏覽器輸入:http://127.0.0.1,你就可以看到django的"It work"了。
關(guān)于我們 聯(lián)系我們 留言板
手冊(cè)網(wǎng)