django + uwsgi 部署上线
时间:2019-10-28
本文章向大家介绍django + uwsgi 部署上线,主要包括django + uwsgi 部署上线使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
django + uwsgi 部署上线
开发阶段使用运行命令
1 # 事实上runserver 就是django 自带的一个服务器 因为收发请求性能较差仅在开发阶段使用,
项目部署我们一般使用uwsgi 服务器来处理动态请求
2 python manage.py runserver
啥是uwsgi?
一个轻量级的python服务器 遵从 wsgi 协议,简单好用就是了
流程
-
安装uwsgi
1 pip install uwsgi 2 # 无法成功下载试试更新pip 或者换国内源
-
更改项目配置
1 #线上模式 2 3 # settings 中 4 5 DEBUG = FALSE 6 7 ALLOWSE_HOST=['*'] 8
-
创建 uwsgi启动文件
1 ------------uwsgi.ini------------ 2 [uwsgi] 3 # 使用nginx 时 4 socket = 127.0.0.1:8000 5 # 直接使用uwsgi 6 http= 127.0.0.1:8000 7 # 项目目录 8 chdir=/home/python/Desktop/ai-web 9 # 项目中uwsgi.py 位置相对于 项目目录 10 wsgi_fire=ai-web/aiweb/wsgi,py 11 processes=4 # 进程数 12 threads=2 # 线程数 13 master =True # 有主进程 14 pidfire= uwsgi.pid # 保存主进程的pid 在项目目录下 15 daemonize =uwsgi.log # 设置后台运行 进程守护 信息写入日志 在项目目录下 16 virtualenv=/home/python/.virtualenvs/aiweb # 设置虚拟环境路径 17 ----------------------- 18 # 使用时注释全部去掉不然无法运行 socket 或http 选一个就行了
-
启动和停止
1 启动: 2 uwsgi --ini 配置文件路径 如:--ini uwsgi.ini 3 uwsgi --ini uwsqi.ini #(路径注意) 4 停止 5 uwsgi --stop uwsqi.pid #(路径注意) 6 7 # 查看日志 8 tail -f uwsgi.log 9 10 # uwsgi.log 和 uwsqi.pid 都是uwsgi启动后自动生成的有时候不知道原因没有生成 uwsqi.pid 想要停止项目可以先找到进程再杀掉 11 12 # 检查 进程 13 ps --aux |grep uwsgi
缺点与不足:
因为uwsgi 是轻量级的服务器 ,所以只处理动态请求,也就是说对于前后端不分离的开发模式,加载静态文件会出问题, 这种使用静态文件部署一般是再搭配Nginx
原文地址:https://www.cnblogs.com/renoyuan/p/11750756.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- java编程思想第四版第五章习题
- 02 . Kubeadm部署Kubernetes及简单应用
- java编程思想第四版第六章习题
- Docker部署Python项目
- 03 . 二进制部署kubernetes1.18.4
- 01 . 美团全链路监控CAT简介及部署
- 02 . Ansible高级用法(运维开发篇)
- java编程思想第四版第七章总结
- OpenVPN原理及部署使用
- 04 . Jenkins部署Java项目
- java编程思想第四版第七章习题
- 03 . Jenkins构建之代码扫描
- mysql提示Packet for query is too large (1142 > 1024)解决方案
- Kubernetes 1.19.0——deployment(1)
- 02 . Jeknins简介部署及自动化部署PHP代码