标签:conf cli param size sig 启动 module 结合 RKE
uwsgi是python的一个模块,安装uwsgi只需简单的pip命令就可以了pip3 install uwsgi
命令测试启动
uwsgi --http 127.0.0.1:8000 --file teacher/wsgi.py --static-map=/static=static
参数说明:
--static 做一个映射,指定静态文件
新建script目录,创建uwsgi.ini
文件,配置如下:
# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/home/eric/blog/DjangoBlog
# 指定项目的application
module=DjangoBlog.wsgi:application
# 指定sock的文件路径
socket=/home/eric/blog/script/uwsgi.sock
# 进程个数
workers=5
pidfile=/home/eric/blog/script/uwsgi.pid
# 指定IP端口
http=0.0.0.0:65321
# 指定静态文件
static-map=/static=/home/eric/blog/DjangoBlog/collectedstatic
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/home/eric/blog/script/uwsgi.log
启动项目:
uwsgi --ini wsgi.ini
至此,uwsgi+django就完美结合了,但是,光有uwsgi还不够,uwsgi处理动态请求能力高,但对于静态请求(如static文件,css,js文件等)处理能力差,此时就要结合nginx一起使用
sudo apt-get install nginx
sudo vim /etc/nginx/sites-available/blog.conf
server {
listen 8000;
server_name 116.62.196.154;
charset utf-8;
client_max_body_size 75M;
location /static {
alias /home/eric/blog/DjangoBlog/collectedstatic;
}
location / {
uwsgi_pass unix:/home/eric/blog/script/uwsgi.sock;
include /etc/nginx/uwsgi_params;
}
}
激活网站:
sudo ln -s /etc/nginx/sites-available/zqxt.conf /etc/nginx/sites-enabled/blog.conf
测试配置语法问题:
sudo service nginx configtest 或 /path/to/nginx -t
重启 nginx 服务器:
sudo service nginx reload 或 sudo service nginx restart 或 /path/to/nginx -s reload
Django + Uwsgi + Nginx 的生产环境部署
标签:conf cli param size sig 启动 module 结合 RKE
原文地址:https://www.cnblogs.com/steinven/p/9271467.html