0
点赞
收藏
分享

微信扫一扫

【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)

小月亮06 2022-03-23 阅读 61


http://c.biancheng.net/view/8256.html

该web站点主要由

  • Ubuntu18.04系统、

  • python3.9.5、

  • Django3.2.3框架、

  • MySQL5.7数据库

  • nginx服务器

搭建

1. 部署架构

Django应用部署模板架构如下图:

  • uWSGI用于连接Web服务器(Nginx)和Python应用程序(Django Application)。
  • Nginx做为反向代理,处理Http请求。
  • Django Application为Python后台应用,提供服务。

【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)_html

2. 部署流程

服务部署的流程为:

安装相关组件​(可选,且只执行一次)->​启动Nginx​(只执行一次)->​下载并解压django项目代码包​ ->​重新启动服务​->​服务启动测试

【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)_nginx_02 ​

本章阐述使用一个Demo程序,完成整个部署流程。

  1. 创建Demo程序,项目文件如下图:
  2. 【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)_nginx_03



  3. mysite.ini为uWSGI配置文件,内容如下:


[uwsgi]
socket= 127.0.0.1:9092
http = :9091
chdir= /home/djangoTest/mysite
module= mysite.wsgi
master= true
processes= 4
vacuum= true
# 不配置log目录,可能会导致服务访问异常
logto = /home/djangoTest/mysitemylog.log
stats=%(chdir)/mysite/uwsgi/uwsgi.status
pidfile=%(chdir)/mysite/uwsgi/uwsgi.pid


其中:

  • socket为uWSGI服务的IP和端口;
  • chdir为Django项目根目录;
  • pidfile为进程ID存储文件,用于停止服务。

重新启动uWSGI

shell命令如下:



if [ -s ${uwsgiPidFilePath} ]
then
uwsgi --stop ${uwsgiPidFilePath}
sleep 5
fi
nohup uwsgi --ini ${uwsgiIniFilePath} &


新建主机组

​​https://support.huaweicloud.com/qs-deployman/deployman_qs_0001.html​​

【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)_nginx_04

【Django 2021年最新版教程30】django项目部署到华为云(nginx uWSGI mysql方式)_html_05

一、托管代码到仓库

Django应用部署模板

​​https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1014.html​​


举报

相关推荐

0 条评论