本文共 1976 字,大约阅读时间需要 6 分钟。
安装nginx
yum -y install nginx
安装uwsgi
1 2 3 4 5 6 | 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
1 2 3 4 | # 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同一目录下
1 2 3 4 5 6 7 8 | #!/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同一目录下
1 2 3 4 5 6 7 | <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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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
1 2 | import settings url(r '^static/(?P<path>.*)$' , 'django.views.static.serve' ,{ 'document_root' : settings.STATIC_ROOT }), |
重新刷新以后恢复正常
之前因为nginx的运行用户与static的用户不一样,坑了半天,这里要注意下