Nginx我這臺機器有默認安裝,新增配置:html
server{ listen 80 ; #監聽80端口 access_log /export/servers/nginx/logs/mypro.local_access.log; #日誌文件位置 error_log /export/servers/nginx/logs/mypro.local_error.log; location / {#訪問/時 include uwsgi_params; #加載uwsgi模塊
proxy_pass http://127.0.0.1:9090; #將請求跳轉到該端口 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location /static/ { alias /export/servers/mypro/static/; #訪問/static時直接訪問到/project/static } }
注意對access_log和error_log新建log文件.
uWSGI 配置
端口9090是uwsgi開啓的,要接收80來的請求.uWSGI啓動能夠使用xml,ini,yaml,yml,json等格式的配置文件來啓動.
1. xml 配置
請肯定你在上一節中的django_wsgi.py文件已經存在了.新建一個XML文件:mypro.xml,將它放在/export/App/mypro/目錄下:python
<uwsgi> <socket>127.0.0.1:9090</socket> <listen>80</listen> <master>true</master> <pythonpath>/export/App/mypro</pythonpath> <processes>1</processes> <logdate>true</logdate> <daemonize>/var/log/uwsgi.log</daemonize> <plugins>python</plugins> </uwsgi>
而後執行命令:nginx
$ uwsgi -x /export/App/mypro/mypro.xml
orapache
$ uwsgi --xml /export/App/mypro/mypro.xml
有時候因各類環境問題,-x --xml命令識別不了,好比個人系統版本爲Centos6.6,uWSGI版本爲2.0.15.能夠使用下面ini配置方式:django
2. ini配置json
[uwsgi] vhost = false plugins = python socket = 127.0.0.1:9090 master = true enable-threads = true workers = 1 wsgi-file = /export/App/mypro/mypro/wsgi.py virtualenv = /export/servers/python/2.7.12 # python安裝目錄 chdir = /export/App/mypro
而後執行命令:瀏覽器
$ uwsgi --ini /export/App/mypro/mypro.ini & $ ps -fe | grep mypro admin 3192 13386 2 10:42 pts/0 00:00:00 uwsgi --ini /export/App/mypro/mypro.ini admin 3195 3192 0 10:42 pts/0 00:00:00 uwsgi --ini /export/App/mypro/mypro.ini admin 3232 13386 0 10:43 pts/0 00:00:00 grep mypro
在實際部署環境中,我一般使用以前命令行的形式後臺啓動9090端口保持監聽.命令格式以下:tomcat
$ uwsgi --http :9090 --chdir /export/App/mypro --module django_wsgi -M -p 8 --http-buffer-size=64000 --buffer-size=64000 -d /export/Logs/mypro/uwsgi.log & --chdir Django程序目錄 --module 使用django_wsgi,相似apache-tomcat的mod_jk和nginx-tomcat的mod_proxy -M enable master process -p spawn the specified number of workers/processes(開啓8個進程) -d 記錄啓動日誌
如無心外,在瀏覽器裏直接訪問80端口,就能看到Django項目的默認頁面了.socket