Nginx+Django+Uwsgi架构部署

简介:

 随着IT不断发展,用户对网站的体验也越来越高,做为一名Linux运维攻城师,就得学习更多知识,网络、系统、硬件、开发等等知识。

    尤其是近期自动化运维的不断发展,更多的基础运维工程师开始不断的升华自己,提升自己,学习更多开发知识来满足企业的发展。目前自动化开发运维主要集中在python django、php开发,今天我们一起来探讨主流WEB服务器Nginx如何来部署Django,直接进入主题:

一、Django环境部署

官网下载django版本,目前最新版为1.7版本,https://www.djangoproject.com/

然后解压安装,我这里安装完后,新建的app主目录为:/root/django/django/bin/command

1
2
3
4
5
[root@Linux_wugk_SA command] # pwd
/ root / django / django / bin / command
[root@Linux_wugk_SA command] # ls
command  manage.py 
[root@Linux_wugk_SA command] #

二、Uwsgi安装部署

下载uwsgi安装包:wget http://projects.unbit.it/downloads/uwsgi-2.0.6.tar.gz

解压安装:tar xzfuwsgi-2.0.6.tar.gz ;cd uwsgi-2.0.6/ ;python setup.py install 即可。

安装完毕后,在/root/django/django/bin/command目录(与manage.py同级目录)新建如下文件:vi  django_wsgi.py

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
# coding: utf-8
import  os
import  sys
reload (sys)
sys.setdefaultencoding( 'utf8' )
os.environ.setdefault( "DJANGO_SETTINGS_MODULE" , "command.settings" )
from  django.core.handlers.wsgiimport WSGIHandler
application  =  WSGIHandler()

然后新建uwsgi配置文件,内容如下:vi uwsgi_socket.xml

1
2
3
4
5
6
7
<uwsgi>
    <socket> 127.0 . 0.1 : 199 < / socket>
        <chdir> / root / django / django / bin / command< / chdir>
            <module>django_wsgi< / module>
                <processes> 4 < / processes>
    <daemonize>uwsgi.log< / daemonize>
< / uwsgi>

注* chdir目录写当前目录,即/root/django/django/bin/command

三、Nginx部署配置

Nginx安装大家都非常熟悉,这里直接上Server段配置代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
         listen  80 ;
         server_name localhost;
         index index.php index.html;
         location  /  {
             include     uwsgi_params;
             uwsgi_pass   127.0 . 0.1 : 199 ;
             uwsgi_param UWSGI_CHDIR   / root / django / django / bin / command;
             uwsgi_param UWSGI_SCRIPTdjango_wsgi;
             access_log / usr / local / nginx / logs / access.log;
             }
         location  / static {
            root / root / django / django / bin / command / command;
         }
      }

四、部署测试

分别启动uwsgi和nginx即可,然后通过浏览器直接访问Nginx 80端口即可。

启动命令:

 uwsgi -x uwsgi_socket.xml 
/usr/local/nginx/sbin/nginx 

截图测试如下:

wKiom1QcD2DAYj2tAAQe9dfbsy8242.jpg

wKiom1QcD3LwqW9qAALk7wt_rVk268.jpg


wKiom1QcDC6SmavUAAD1mtnpt1o034.jpg

本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1555300



相关文章
|
17天前
|
应用服务中间件 网络安全 nginx
快速上手!使用Docker和Nginx部署Web服务的完美指南
快速上手!使用Docker和Nginx部署Web服务的完美指南
|
1月前
|
网络协议 应用服务中间件 Linux
在Redhat 9部署nginx服务
Nginx是一个高性能、开源的HTTP和反向代理服务器,以其异步非阻塞模型处理高并发,并具有轻量级、高可靠性、良好扩展性和热部署特性。在Redhat 9.2上安装nginx-1.24.0涉及安装依赖、下载解压、源码编译、配置环境变量及启动服务。安装步骤包括:yum安装依赖包,下载解压Nginx,运行configure脚本预编译,make && make install编译安装,然后赋权、配置环境变量,关闭防火墙和SELinux,最后启动Nginx并进行浏览器测试。
471 3
|
1月前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
143 0
|
17天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
24 0
|
1月前
|
JavaScript 应用服务中间件 nginx
【报错】nginx部署项目后Echarts折线图无法展示
在Vue3+TS+Arco项目中,打包后使用Nginx部署的Echarts折线图显示异常,报`Cannot read properties of undefined(reading &#39;setOption&#39;)`错误。问题源于在定义div时使用了Vue2的`$refs`语法,导致DOM元素无法正确初始化Echarts。解决方法有两种:1) 不推荐使用`document.getElementById`获取DOM并初始化Echarts;2) 推荐在Vue3中通过`ref`获取DOM,在`onMounted`中使用`echarts.init`并借助`nextTick`异步绘制数据。
|
5天前
|
应用服务中间件 nginx
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
如何在树莓派部署Nginx并实现无公网ip远程访问内网制作的web网站
8 0
|
13天前
|
运维 Serverless 应用服务中间件
Serverless 应用引擎产品使用之在阿里云Serverless中函数计算FC nginx 部署上去之后放置静态页面如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
219 0
|
25天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
1月前
|
应用服务中间件 nginx Windows
windows下Nginx+RTMP部署
windows下Nginx+RTMP部署
26 0
|
1月前
|
JavaScript 应用服务中间件 nginx
nginx部署vue刷新404
nginx部署vue刷新404
14 0