简单聊一下Uwsgi和Django的爱恨情仇
- 项目目录:
/root/app - Uwsgi的配置文件
[uwsgi]
# Python扩展包安装的地方
pythonpath=/usr/local/src/python3/lib/python3.5/site-packages
# Django根目录
chdir=/root/app
# wsgi.py跟根目录的相对路径
wsgi-file=app/wsgi.py
# 设置Django的配置文件
env = DJANGO_SETTINGS_MODULE=app.settings
# 启动模块
module=app.wsgi:application
# 配置生成的sock文件的权限
chmod-socket = 664
# 监听的IP和端口
socket=:8081
# 允许主线程存在
master=true
# 开启的进程数量
processes=2
# 监控python模块mtime来触发重载 (只在开发时使用)
py-autoreload=1
# 在每个worker而不是master中加载应用
lazy-apps=true
# 设置用于uwsgi包解析的内部缓存区大小为64k。默认是4k。
buffer-size = 32768
# 允许用内嵌的语言启动线程。这将允许你在app程序中产生一个子线程
enable-threads = true
# 多站模式
vhost=true
# 多站模式时不设置入口模块和文件
no-site=true
# 子进程数
workers=2
reload-mercy=10
# 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件
vacuum=true
# 一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,并且当前处理这个请求的工作进程会被回收再利用(即重启)
harakiri = 60
max-requests=1000
limit-as=512
buffer-size=30000
# 设置socket的监听队列大小(默认:100)
listen = 120
# 指定pid文件
pidfile=/var/run/uwsgi_8081.pid
# 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器
daemonize=/var/run/uwsgi_8081.log
# 设置最大日志文件大小
log-maxsize = 5000000
# 禁用请求日志记录
disable-logging = true
启动命令:
uwsgi --ini /root/app/uwsgi.ini目录结构
├── app
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-35.pyc
│ │ ├── settings.cpython-35.pyc
│ │ ├── urls.cpython-35.pyc
│ │ └── wsgi.cpython-35.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── appv1
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── __pycache__
│ │ ├── admin.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ └── models.cpython-35.pyc
│ ├── tests.py
│ └── views.py
├── manage.py
└── uwsgi.ini
- nginx配置
upstream apachephp {
server 127.0.0.1:8081;
}
server {
listen 80;
server_name luffy.cyqit.com;
root html;
index index.html index.htm index.php;
include /application/nginx/conf/conf.d/gzip/gzip.conf;
## send request back to apache ##
location / {
include uwsgi_params;
uwsgi_pass apachephp;
uwsgi_param UWSGI_SCRIPT app.wsgi;
uwsgi_param UWSGI_CHDIR /root/app/;
index index.html index.htm;
client_max_body_size 35m;
}
}
简单聊一下Uwsgi和Django的爱恨情仇的更多相关文章
- 注解:大话AOP与Android的爱恨情仇
转载:大话AOP与Android的爱恨情仇 1. AOP与OOP的区别 平时我接触多的就是OOP(Object Oriented Programming面向对象).AOP(Aspect Oriente ...
- 除了love和hate,还能怎么表达那些年的“爱恨情仇”?
实用英语 帮你全面提高英语水平 关注 童鞋们每次刷美剧的时候,相信都会被CP感满满的男女主角虐得体无完肤吧. 可是,一到我们自己表达爱意或者恨意的时候,却苦于词穷,只会用love, like, hat ...
- 对json的爱恨情仇
本文回想了对json的爱恨情仇. C++有风险,使用需慎重. 本文相关代码在:http://download.csdn.net/detail/baihacker/7862785 当中的測试数据不在里面 ...
- String、StringBuilder、StringBuffer的爱恨情仇
第三阶段 JAVA常见对象的学习 StringBuffer和StringBuilder类 (一) StringBuffer类的概述 (1) 基本概述 下文以StringBuffer为例 前面我们用字符 ...
- pytorch和tensorflow的爱恨情仇之参数初始化
pytorch和tensorflow的爱恨情仇之基本数据类型 pytorch和tensorflow的爱恨情仇之张量 pytorch和tensorflow的爱恨情仇之定义可训练的参数 pytorch版本 ...
- Menu与ActionBar的爱恨情仇
最近在开发一款音乐播放器,在开发过程中遇到了一点小麻烦,通过android API搞清楚了Menu与ActionBar的爱恨情仇,写了个小Demo祭奠一下那些年我们陷进去的坑,有不对的地方请大神们批评 ...
- web移动端fixed布局和input等表单的爱恨情仇 - 终极BUG,完美解决
[问题]移动端开发,ios下当fixed属性和输入框input(这里不限于input,只要可以调用移动端输入法的都包括,如:textarea.HTML5中contenteditable等),同时存在的 ...
- [转帖]探秘华为(一):华为和H3C(华三)的爱恨情仇史!
探秘华为(一):华为和H3C(华三)的爱恨情仇史! https://baijiahao.baidu.com/s?id=1620703498823290828&wfr=spider&fo ...
- Tidyverse|数据列的分分合合,爱恨情仇
Tidyverse|数据列的分分合合,爱恨情仇 本文首发于“生信补给站”Tidyverse|数据列的分分合合,一分多,多合一 TCGA数据挖掘可做很多分析,前期数据“清洗”费时费力但很需要. 比如基因 ...
随机推荐
- python中使用excutemany执行update语句,批量更新
python中使用excutemany执行update语句,批量更新 # coding:utf8 import pymysql import logging connection = pymysql. ...
- wangEditor 轻量级富文本框编辑器使用方法
首先第一步先去wangEditor官网下载所需要的脚本文件! http://www.wangeditor.com/ 接下来先在你的项目的HTML标签里加上这样一段标签: 1 <body> ...
- 从单一图像中提取文档图像:ICCV2019论文解读
从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...
- Jittor 的Op, Var算子
Jittor 的Op, Var算子 要使用jittor训练模型,需要了解两个主要概念: Var:Jittor的基本数据类型 Operations:Jittor的算子与numpy类似 首先,开始使用Va ...
- YOLOV4知识点分析(一)
YOLOV4知识点分析(一) 简 介 yolov4论文:YOLOv4: Optimal Speed and Accuracy of Object Detection arxiv:https://arx ...
- 对端边缘云网络计算模式:透明计算、移动边缘计算、雾计算和Cloudlet
对端边缘云网络计算模式:透明计算.移动边缘计算.雾计算和Cloudlet 概要 将数据发送到云端进行分析是过去几十年的一个突出趋势,推动了云计算成为主流计算范式.然而,物联网时代设备数量和数据流量的急 ...
- CodeGen标记循环
CodeGen标记循环 标记循环是一个模板文件构造,它允许您迭代CodeGen拥有的标记信息的集合.为了使用标记循环,必须基于至少定义了一个字段标记的存储库结构生成代码. 标 ...
- 基于TensorRT的BERT实时自然语言理解(下)
基于TensorRT的BERT实时自然语言理解(下) BERT Inference with TensorRT 请参阅Python脚本bert_inference.py还有详细的Jupyter not ...
- Netty 框架学习 —— 传输
概述 流经网络的数据总是具有相同的类型:字节,这些字节如何传输主要取决于我们所说的网络传输.用户并不关心传输的细节,只在乎字节是否被可靠地发送和接收 如果使用 Java 网络编程,你会发现,某些时候当 ...
- 【VBA】最大行,最大列
最大行: Range("B" & Cells.Rows.Count).End(xlUp).Row 最大列 colu = Range("XFD2").En ...