安装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的用户不一样,坑了半天,这里要注意下
本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1680467,如需转载请自行联系原作者