安装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