栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

微信小程序的Django后端极简部署

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微信小程序的Django后端极简部署

微信小程序的Django后端极简部署
  • 服务环境
  • 项目配置
  • 代码推送
  • 安装依赖
  • 配置MySQL
  • 安装Redis
  • 配置Nginx和SSL证书
  • 起动服务

近期使用Django框架开发的一个微信小程序后端上线,记录一下核心步骤。

服务环境
操作系统Ubuntu20
硬件环境阿里云ECS服务器
后端环境Django2.2 + MySQL8.0
代理服务Nginx1.17
其他准备域名 + SSL证书
项目配置
  1. 关闭DEBUG模式
    在 settings.py 中设置 DEBUG = False
  2. 取消访问限制
    在 settings.py 中设置 ALLOWED_HOSTS = [’*’]
  3. 设置数据库
    在 settings.py 中设置部署环境下的数据库密码等信息
  4. 收集静态资源
    运行 python manage.py collectstatic 收集静态资源
代码推送
# 安装Git
sudo apt-get upgrade
sudo apt-get install git
# 生成SSH公钥添加到码云
git config --global user.name "xxx"
git config --global user.email "xxx@xx.com"
ssh-keygen -t rsa
# 远程拉取代码
cd /srv
git init
git remote add origin git@gitee.com: xxx/daswx.git
git pull origin master
安装依赖
# 安装python3环境
sudo apt-get install python3
sudo apt-get install python3-pip
# 安装各种依赖
pip3 install django==2.2.17
# 安装uwsgi
pip3 install uwsgi
配置MySQL
# 安装MySQL
sudo apt-get install mysql-server mysql-client
# 设置MySQL
# 设置密码
alter user 'root'@'localhost' identified with mysql_native_password by '初始密码'; 
flush privileges;
# 打开远程连接权限便于数据维护(需在安全组中打开3306端口,维护完需关闭端口)
grant all on 数据库名.* to ‘数据库账户名’@’%’ identified by ‘密码’ with grant option;
flush privileges;

MySQL缓存设置视服务器配置而定,数据维护可以通过SQLyog之类的软件远程连接进行,这两项就不多说了

安装Redis
sudo apt-get install redis-server
pip3 install redis
配置Nginx和SSL证书
# 安装Nginx
apt-get install nginx
# 启动Nginx服务
service nginx start
# 新建Nginx服务配置文件并保存
vim
server {
    listen 443 ssl; # https默认443端口,安全组策略需打开
    server_name www.xxx.com; # IP或域名,小程序使用域名
	# 转发到项目服务
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
	# 静态资源路由
    location ^~ /static/ {
        root /srv/daswx/STATICFILES/;
    }
    # ssl证书设置
    # 证书文件保存到 /etc/nginx/cert目录
    ssl_certificate cert/xxx.pem;
	ssl_certificate_key cert/xxx.key;
	# 其它ssl设置,可参考阿里云帮助
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
    ssl_prefer_server_ciphers on;
}
:wq /etc/nginx/conf.d/daswx.conf
起动服务
# 刷新Nginx配置
nginx -s reload
# uwsgi起动后台
setsid uwsgi --http :8080 --chdir /srv/daswx/ --module DASWXsvr.wsgi:application

最后别忘记用postman测一下接口以及检查安全组策略

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286844.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号