Django + Uwsgi + Nginx 项目部署

代码准备:

1、用Django编写一个“Hello World”服务

2、在项目目录下运行 python manage.py runserver 

3、通过浏览器访问 http://127.0.0.1:8000/

以上就是我们在做Django web开发的时候,常用的一种部署调试方式。然而,对于实际的生产部署工作,我们需要更强大部署形态,这里我们采用 Django  + Uwsgi + Nginx 的架构组合。

 

WSGI

在生产环境中可以使用WSGI作为python web的服务器

WSGI:全拼为Python Web服务器网关接口,Django项目默认会生成一个wsgi.py文件,确定了设置模块。

uWSGI实现了WSGI的所有接口,是一个快速,自我修复,开发人员和系统管理员友好的服务器,C语言编写,效率高。

uWSGI安装

1、下载tar包

下载地址:https://pypi.org/project/uWSGI/

2、上传安装

将 uwsgi-2.0.17.1.tar.gz 上传到目标服务器,解压。进入解压后的目录,运行:python setup.py install

uWSGI配置

在Django项目下新建 uwgsi.ini,内容如下:

uWSGI使用

启动uwsgi.ini,需要切换到项目目录

启动uwsgi: uwsgi --ini  uwsgi.ini

查看uwsgi进程:ps aux|grep uwsgi

关闭uwsgi : 网上有多种命令关闭方式,不过在我的机器好像不好用,所以我是直接 kill 掉上面ps命令得到的pid

uWSGI 的优势

提高并发访问支持(可以灵活的配置进程数和线程数)

提高服务运行稳定性(参考其他大咖的说法,目前还不知道怎么证明)

 

Nginx

使用nginx的的作用主要包括负载均衡,反向代理

Nginx安装

wget http://nginx.org/download/nginx-1.7.8.tar.gz
tar xf nginx-1.7.8.tar.gz
cd nginx-1.7.8
./configure --prefix=/usr/local/nginx-1.7.8
make && make install

整个安装过程可能有许多依赖问题要解决,出现时再百度即可。

Nginx配置

首先需要重新配置 uwsgi.ini,如下:

然后还需要配置 /usr/local/nginx1.7.8/conf/nginx.conf,如下

Nginx 运行

nginx  //启动
nginx -s stop/quit //停止
nginx -s reload   //重启加载配置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值