博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django结合nginx部署
阅读量:6408 次
发布时间:2019-06-23

本文共 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的用户不一样,坑了半天,这里要注意下

本文转自 shouhou2581314 51CTO博客,原文链接:http://blog.51cto.com/thedream/1680467,如需转载请自行联系原作者
你可能感兴趣的文章
从另一个表中添加数据
查看>>
SUSE_NFS、Samba服务搭建
查看>>
如何修改MySQL字符集
查看>>
Microsoft Windows
查看>>
OC API库常见之函数(二)
查看>>
都是trigger惹的祸
查看>>
design a text edit
查看>>
CodeForces 454C Little Pony and Expected Maximum
查看>>
华为交换机vlan间路由器子接口的配置
查看>>
SAN 交换机license激活步骤(guolhb@DC)
查看>>
深入浅出Docker(四):Docker的集成测试部署之道
查看>>
使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 PageController(页面控制器)...
查看>>
【原创】MySQL 5.6 MRR 的存储过程完美诠释
查看>>
git文档整理
查看>>
我的友情链接
查看>>
vc++知识点
查看>>
iconv
查看>>
VMware View 5.2 安装实施五 安装vCenter Inventory Service
查看>>
VMware View 5.2 安装实施十四 测试 (完结)
查看>>
属性(Property)
查看>>