1.环境准备
# 已安装环境 python 3.7 Nginx 1.20.1 Django 2.2.3
2.待部署项目
# 创建项目 django-admin startproject blog-admin # 安装uwsgi pip install uwsgi==2.0.15
3. 编辑uwsgi.ini文件
[uwsgi] # 项目目录 chdir = /home/web/blog-admin/blog_admin # 指定IP端口 http = 0.0.0.0:8000 # 启动uwsgi的用户名和用户组 uid = root gid = root # wsgi文件,在你的项目配置目录下可以找到 注意:最后输入绝对地址 wsgi-file = /home/web/blog-admin/blog_admin/blog_admin/wsgi.py # 启动主进程 master = true # 进程个数 workers = 5 # 每个进程最大的请求数 max-request = 1000 # 自动移除unix Socket和pid文件当服务停止的时候 vacuum = true # 序列化接受的内容,如果可能的话 thunder-lock = true # 启动线程 enable-threads = true # 设置自中断时间 harakiri = 30 #设置缓冲 post-buffering = 4096 # 设置日志记录 daemonize = /home/web/blog-admin/blog_admin/uwsgi.log pidfile = /home/web/blog-admin/blog_admin/uwsgi.pid # 指定sock的文件路径 socket = /home/web/blog-admin/blog_admin/uwsgi.sock
4. 启动/停止uwsgi服务命令
# 停止服务 uwsgi --stop uwsgi.pid # 启动uwsgi服务 uwsgi --ini uWSGI.ini
5. 修改Nginx配置
location / {
# 这个location就和咱们Django的url(r'^admin/', admin.site.urls),
include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
uwsgi_pass unix:/home/web/blog-admin/blog_admin/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给他
}
6. 重启Nginx
service nginx restart
7.启动uwsgi服务
# 进去到django项目中 cd /home/web/blog-admin/blog_admin # 执行启动uwsgi命令 uwsgi --ini uWSGI.ini # 查看是否启动成功 ps -ef|grep uwsgi # 启动失败,查看指定日志文件
感兴趣的可以关注作者微信公众号:程序员9527。



