django结合nginx部署

简介:

安装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,如需转载请自行联系原作者
相关文章
|
7天前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
5天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
27天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
2月前
|
负载均衡 应用服务中间件 网络安全
Django后端架构开发:Nginx服务优化实践
Django后端架构开发:Nginx服务优化实践
38 2
|
2月前
|
负载均衡 前端开发 应用服务中间件
使用Nginx配置SSL以及部署前端项目
本文介绍了如何使用Nginx配置SSL证书以启用HTTPS,并展示了如何通过Nginx部署前端项目,包括配置SSL证书、设置代理和负载均衡的示例。
89 2
|
2月前
|
Java 应用服务中间件 nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
【Azure Spring Apps】Spring App部署上云遇见 502 Bad Gateway nginx
|
2月前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
|
2月前
|
关系型数据库 应用服务中间件 数据库
如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn
如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn
20 0
|
2月前
|
JavaScript 应用服务中间件 nginx
如何使用 Systemd 和 Nginx 部署 Node.js 应用程序
如何使用 Systemd 和 Nginx 部署 Node.js 应用程序
41 0
下一篇
无影云桌面