wsgi 一种协议,描述web server如何和 web application 通信的规则。
运行在wsgi上的web框架有bottle,flask,django。
uwsgi 和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型。
uWSGI web服务器,实现了wsgi协议,uwsgi协议
nginx web服务器,更加安全,更好的处理处理静态资源,缓存功能,负载均衡,因此nginx的强劲性能,配合uWSGI服务器会更加安全,性能有保障。
django 高级的python web框架,用于快速开发,解决web开发的大部分麻烦,可以更专注业务逻辑。
启动:uwsgi --ini uwsgi.ini
重启:uwsgi --reload uwsgi.pid
关闭 :uwsgi --stop uwsgi.pid
; 配置文件 uwsgi.ini
[uwsgi]
http-socket = 0.0.0.0:7003 ; 地址和端口号
listen = 500
master = true ; 允许主进程存在 enable master process
processes ; 开启的进程数量
workers = 22 ; 开启的进程数量,等同于processes
threads = 1 ; 运行线程
pythonpath = /home/admin/hybrid-rtc/target/hybrid-rtc
chdir = /home/admin/hybrid-rtc/target/hybrid-rtc ; 指定运行目录
wsgi = hybrid_route.wsgi ; Django's wsgi file
callable = application ; app 名字
vacuum = true ; 当服务器退出的时候自动清理环境,删除unix socket文件和pid文件(try to remove all of the generated file/sockets)
;thunder-lock = true
thunder-lock = false
harakiri = 60
;harakiri = 5
harakiri-verbose = true
memory-report = true
need-app = true
reload-mercy = 60
max-requests = 10000
; max-worker-lifetime = 86400
pidfile = /home/admin/hybrid-rtc/logs/app/uwsgi-hybrid-rtc.pid ; 指定pid文件的位置,记录主进程的pid号
tcp-nodelay = true
; buffer-size = 65536
; socket-timeout = 30
; limit-as
; reload-on-as
; reload-on-rss
; limit-post"
; stats ; 在指定的地址上,开启状态服务(enable the stats server on the specified address)
; daemonize ; 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器(daemonize uWSGI)。实际上最常用的还是把运行记录输出到一个本地文件上。
; log-maxsize ; 以固定的文件大小(单位KB),切割日志文件。如log-maxsize = 50000000 就是50M一个日志文件。
; disable-logging ; 不记录请求信息的日志。只记录错误以及uWSGI内部消息到日志中。如果不开启这项,那么你的日志中会大量出现这种记录