Django+Nginx+uWSGI生产环境部署

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值