django结合nginx部署
安裝nginx
yum -y install nginx
安裝uwsgi
wget?http://projects.unbit.it/downloads/uwsgi-2.0.6.tar.gz tar?-zxvf?uwsgi-2.6.tar.gz? cd?uwsgi-2.6.tar.gz? python?setup.py?build? make? mv?uwsgi?/usr/bin/uwsgi測試
創建test.py
#?test.py def?application(env,?start_response):start_response('200?OK',?[('Content-Type','text/html')])return?["Hello?World"]啟動uwsgi
uwsgi --http :8000 --wsgi-file test.py
參數含義
http :8000 —— 協議 http,端口 8000
wsgi-file test.py —— 加載文件 test.py
訪問 http://ip:8000
如果網頁上是又HELLO world說明是正常的
配置django
編寫django_wsgi.py文件,放在mange.py同一目錄下
#!/usr/bin/env?python #coding:?utf-8 import?os,sys reload(sys) sys.setdefaultencoding('utf8') os.environ.setdefault("DJANGO_SETTINGS_MODULE","Simplecmdb.settings") from?django.core.handlers.wsgi?import?WSGIHandler application=WSGIHandler()配置uwsgi
新建一個xml文件
vim uwsgi.xml。將他放在mange.py同一目錄下
<uwsgi> <socket>0.0.0.0:9001</socket> <chdir>/root/Django-1.6.11/Simplecmdb</chdir> <module>django_wsgi</module> <processes>4</processes><!--?進程數?--> <daemonize>uwsgi.log</daemonize> </uwsgi>在上面的配置中,我們使用 uwsgi.log 來記錄日志,開啟4個進程來處理請求。
配置nginx
user??????????????root; server?{listen?80;server_name?localhost;location?/?{uwsgi_pass?0.0.0.0:9001;include?uwsgi_params;}location?/static/{alias?/root/Django-1.6.11/Simplecmdb/static/;index?index.html?index.htm;}error_page?500?502?503?504?/50x.html;location?=?/50x.html?{root?html;}}重啟nginx
啟動uwsgi服務
uwsgi -x uwsgi.xml
訪問服務http://ip/admin
這里要說下admin后臺的css樣式處理
修改settings.py,在站點目錄下建立自己的靜態文件夾
mkdir static
STATIC_ROOT = "/站點路徑/static/"
運行下列命令將相關文件copy到static目錄
python manage.py collectstatic
修改urls.py
import?settings url(r'^static/(?P<path>.*)$',?'django.views.static.serve',{'document_root':?settings.STATIC_ROOT?}),重新刷新以后恢復正常
之前因為nginx的運行用戶與static的用戶不一樣,坑了半天,這里要注意下
轉載于:https://blog.51cto.com/thedream/1680467
總結
以上是生活随笔為你收集整理的django结合nginx部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android典型界面设计(3)——访网
- 下一篇: 【软件使用】Windows下的Objec