Django+Nginx+uWSGI生产环境部署 - Go语言中文社区

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

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/mid_python/article/details/123529289
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-03 17:02:59
  • 阅读 ( 568 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢