Django 基础 15

部署上线uwsgi+nginx+django
在正式上线代码,会使用uwsgi+nginx+django
django默认处理请求是一个一个的处理请求,不能实现高并发,不符合生产环境。
uwsgi是实现uwsgi和wsgi协议的web服务器 它会把用户的动态请求转交给Django处理 设置进程数来异步处理请求
nginx是web服务器 它有两个作用,1负载均衡,2处理静态请求
 
部署架构
 
0a1ae52a849c84fcbbbd565cbec254cfd4e.jpg 
 
uwsgi
在Python虚拟环境中安装uwsgi
pip install uwsgi
 
配置uwsgi
1)在setting.py
 
DEBUG = False
ALLOWED_HOSTS = ['*']
 
2)在项目目录下创建uwsgi.ini配置文件
 
[uwsgi]
# 使用Nginx连接使用 uwsgi监听127.0.0.1:8080
socket=127.0.0.1:8080
# 只使用uwsgi做web服务器使用
#http:127.0.0.1
# 项目目录
chdir=E:/Django test/demo
# 项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=demo/wsgi.py
# 指定工作进程数
processes=4
# 指定工作进程中的线程数
threads=2
master=True
# 保存启动后主进程的pid,相对于项目目录
pidfile=uwsgi.pid
# 设置uwsgi后台运行并生成日志,相对于项目目录
daemonize=uwsgi.log
# 设置虚拟环境的路径
virtualenv=/root/.virtualenvs/test1_py3/
 
3)uwsgi启动和暂停
uwsgi启动
格式: uwsgi --ini 配置文件路径
 
uwsgi --ini uwsgi.ini
 
uwsgi停止
格式: uwsgi --stop uwsgi.pid路径
 
uwsgi --stop uwsgi.pid
 
nginx
1)修改Nginx配置文件
vim nginx.conf
 
在server下添加下面参数
 
location / {
    # 包含uwsgi请求参数
    include uwsgi_params;
    # 转交请求给uwsgi
     uwsgi_pass 127.0.0.1:8080;
}
 
location /static {
    # 指定静态文件目录
    alias /var/www/web/static/;
}
 
2)收集静态文件到Nginx静态文件目录下
在setting.py添加下面参数
STATIC_ROOT =/var/www/web/static;
 
Django收集静态文件命令
格式: python manage.py collectstatic
 
python manage.py collectstatic
 
3)启动Nginx
service nginx start

转载于:https://my.oschina.net/u/3803568/blog/2998531

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值