简单聊一下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;
   }
}

转载于:https://www.cnblogs.com/chenyangqit/p/11537255.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值