uWSGI, uwsgi,WSGI

uWSGI, uwsgi,WSGI

一. uWSGI, uwsgi,WSGI之间的区别联系

  • uWSGI是web服务器,实现了WSGI通信规范,uwsgi协议, http等协议

    # uWSGI--web服务器的安装
    pip install uwsgi
    
  • WSGI全名Web Server Gateway Interface, 是web服务器与web应用通信的一种规范

  • uwsgi是WSGI通信规范中的一种自有协议

二. uWSGI—web 服务器的常用命令及配置

uwsgi --http :8080 --wsgi-file test.py
uwsgi --http :8000 --module myproject.wsgi # 用此命令启动web服务
uwsgi --ini uwsgi.ini   //从配置文件启动,将命令参数统一写进ini文件
sudo service uwsgi restart
ps aux | grep uwsgi
sudo pkill -f uwsgi -9
# 重启uwsgi
	#(1) uwsgi命令重启
	uwsgi --reload uwsgi.pid  //uwsgi命令重启uwsgi启动后所开启进程的pid号会自动写入该文件
	# (2) 系统命令重启
	kill -HUP pid #友好重启,不会丢失会话,pid为master进程的pid
	kill -TERM pid #强制重启,可能丢失会话,pid为master进程的pid
uwsgi --stop uwsgi.pid # 关闭uwsgi--uwsgi命令关闭
kill -INT pid //关闭uwsgi--系统命令关闭,pid为master进程的pid


uwsgi.ini常用配置

[uwsgi]
http-socket=:55555//配置uwsgi监听的socket(ip+端口)
callable=app//uwsgi调用的python应用实例名称,Flask里默认是app,根据具体项目代码实例命名来设置
wsgi-file=server.py//调用的主程序文件,绝对路径或相对于该ini文件位置的相对路径均可
master=true//以独立守护进程运行
processes=8//配置进程数量
threads=4//配置线程数量
enable-threads=true//允许在请求中开启新线程
stats=127.0.0.1:9191//返回一个json串,显示各进程和worker的状态
pidfile=uwsgi.pid//存放uwsgi进程的pid,便于重启和关闭操作
listen=1024//监听队列长度,默认100,设置大于100的值时,需要先调整系统参数
chdir = /project  //指定项目目录为主目录
daemonize=uwsgi.daemonize.log//以守护进程运行,日志文件路径
memory-report=true//启用内存报告,报告占用的内存
buffer-size=65535//设置请求的最大大小 (排除request-body),这一般映射到请求头的大小。默认情况下,它是4k,大cookies的情况下需要加大该配置

三. nginx, uWSGI, django项目

  • nginx是反向代理服务器

    1. 作为web服务器,处理静态文件和索引文件效果特别好
    2. 非常注重效率,最大支持5万个并发连接,但只占用很少的内存空间
    3. 强大的反向代理和负载均衡功能,根据请求情况和服务器负载情况,将请求分配给不同的web服务器,以保证服务器的性能.平衡集群中各个服务器的负载压力应用
    4. 安全:不管什么请求都要经过代理服务器,这样就避免了外部程序直接攻击web服务器
    5. 提高web服务器的IO性能:请求从客户端传到web服务器是需要时间的,传递多长时间就会让这个进程阻塞多长时间,而通过反向代理,就可以在反向代理这完整接受请求,然后再传给web服务器,从而保证服务器的性能
    # centos下一些nginx的命令
    yum install nginx
    systemctl start nginx //启动 Nginx
    systemctl stop nginx //停止Nginx
    systemctl enable nginx //启用开机启动Nginx
    systemctl disable nginx // 禁用开机启动Nginx
    # 配置完成后测试正确性
    nginx -t
    
  • uWSGI是web服务器,是nginx与django项目之间的桥梁

  • django是web框架

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PojcAeeM-1628841128685)(E:\notes_daily\assets\image-20210810144728964.png)]

Reference: Centos 7下安装配置Nginx-阿里云开发者社区 (aliyun.com)

Nginx实现集群的负载均衡配置过程解析_nginx_脚本之家 (jb51.net)

现集群的负载均衡配置过程解析_nginx_脚本之家 (jb51.net)](https://www.jb51.net/article/105373.htm)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值