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后台应用,提供服务。
2. 部署流程
服务部署的流程为:
安装相关组件(可选,且只执行一次)->启动Nginx(只执行一次)->下载并解压django项目代码包 ->重新启动服务->服务启动测试
本章阐述使用一个Demo程序,完成整个部署流程。
- 创建Demo程序,项目文件如下图:
-
[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应用部署模板
https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_1014.html