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。