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


近期使用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测一下接口以及检查安全组策略

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
微信小程序是一种轻量级的应用程序,通过微信进行访问和使用。而Django是一种使用Python编写的高级Web开发框架,可以轻松构建复杂和高性能的Web应用程序。 将微信小程序Django后端部署结合起来,可以实现小程序和服务器之间的数据交互和业务逻辑处理。以下是微信小程序Django后端部署的步骤: 1. 准备环境:首先确保已经安装了Python和Django。可以使用pip安装Django,然后创建一个Django项目。 2. 编写后端代码:在Django项目中,创建一个API视图,用于接收和处理来自小程序的请求。可以使用Django的URL路由器来将请求路由到相应的API视图上。 3. 数据库配置:在Django的settings.py文件中配置数据库连接,以便后端可以从数据库中读取和写入数据。可以选择使用MySQL、PostgreSQL或者SQLite作为数据库。 4. 编写接口逻辑:在API视图函数中,编写处理小程序请求的代码。可以根据需求查询数据库、处理数据、验证用户身份等等。 5. 部署到服务器:将Django项目部署到服务器上,可以选择使用Nginx+uWSGI、Apache+mod_wsgi等方式来进行部署。 6. 小程序调用后端接口:在小程序中使用wx.request方法来发起HTTP请求,调用Django后端提供的API接口。 7. 数据交互和处理:通过HTTP请求和响应,实现小程序和Django后端之间的数据交互和业务逻辑处理。可以使用JSON数据格式进行数据传递和解析。 通过以上步骤,就可以将微信小程序Django后端部署结合起来。这样,小程序用户可以通过小程序界面进行各种操作,而后端服务器会相应地处理请求并返回相应的数据给小程序。这种架构可以使小程序更加强大和灵活,同时也能为开发者提供更多的数据处理和业务逻辑的扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值