微信云开发开始收费了,一个月20块钱,贼贵,用不起。而按用量收费、资源还能复用的兄弟产品微信云托管还像还行。所以就有了一场填坑旅行。
windows10下安装docker之坑
在本地开发,需要使用docker,但是下载、安装docker后,大概率是不能运行的。这里有2个坑。
- 需要电脑开启虚拟化。没开启的,进入BIOS开启。(PS:看自家电脑牌子在电脑开启时,狂按F10之类。把虚拟相关的都选择开启。)
- 需要微软官网,下载「适用于 x64 计算机的 WSL2 Linux 内核更新包」
docker连接云数据库之坑
官方提供了很多后端的模块,例如springboot 框架模版、django 框架模版和thinkphp apache 框架模版等等。thinkphp有2个版本,一个是apache的,另一个是nginx的。windows用户要选择apache的。
而这些模块在云托管服务器中连接数据库时不需要填写数据库信息的,而本地调试是要填写数据库信息的。也就是下面的envParams。PS:本地调试连接云托管MySQL数据库的速度贼慢!!!
{
"containers": [
{
"name": "cloudrun2",
"domain": "",
"ip": "",
"containerId": "2d23166d0e446ab77b734a08d6a7b86f9252e61f03e5a5ff1658ebd"
}
],
"config": {
"cloudrun2": {
"containerPort": 80,
"minNum": 0,
"maxNum": 5,
"cpu": 1,
"mem": 2,
"policyType": "cpu",
"policyThreshold": 60,
"policyDetails": [
{
"PolicyType": "cpu",
"PolicyThreshold": 60
},
{
"PolicyType": "mem",
"PolicyThreshold": 60
}
],
// 本地调试模板项目时,须填入以下环境变量用于连接数据库
"envParams": {
"MYSQL_USERNAME": "",
"MYSQL_PASSWORD": "",
"MYSQL_ADDRESS": "" // 填写云托管中MySQL的IP地址+端口号。如168.0.0.3:3306
},
"customLogs": "/app/runtime/log/*",
"dataBaseName": "thinkphp_demo",
"executeSQLs": [
"CREATE DATABASE IF NOT EXISTS thinkphp_demo;",
"USE thinkphp_demo;",
"CREATE TABLE IF NOT EXISTS `Counters` (`id` int(11) NOT NULL AUTO_INCREMENT, `count` int(11) NOT NULL DEFAULT 1, `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`)) ENGINE = InnoDB DEFAULT CHARSET = utf8;"
]
}
}
关于资源复用之坑
对象存储是不包含在资源复用里面的。所以,其他小程序不能用file ID,只能用下载地址。
目前,遇到的坑已经填完了。