本系列文章记录“智能提醒助理”wx公众号 建设历程,记录实践经验、巩固知识点、锻炼总结能力。
一、需求背景
建设一个智能提醒小程序,通过公众号、短信、电话提醒用户。
提供以下能力:
1、节日提醒:生日、节日、纪念日问候祝福。
2、健康守护:喝水、久坐、健身、用药提醒。
3、日常提醒:社交、旅行、年检、定期还款。
4、人文关怀:陪伴、夸赞、正能量、抚慰心灵。
5、陪你聊天:公众号输入框发送文字即可。
数据库选型MYSQL
二、搭建过程
1、安装docker
# ======================
# docker 安装参考:https://blog.csdn.net/zyf1203/article/details/140045672
# ======================
#使用 root 权限更新 yum 包
yum -y update
#卸载旧版本
yum remove docker-ce docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
#安装相应的安装包
yum install -y yum-utils device-mapper-persistent-data lvm2
#设置 yum 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装最新版本的 Docker Engine-Community 和 containerd
yum -y install docker-ce docker-ce-cli containerd.io
# 查看安装版本
docker -v
# 设置docker镜像源
# 这是目前比较好用的源
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[
"https://gallery.ecr.aws/",
"https://gitverse.ru/docs/artifactory/gitverse-registry/",
"https://docker.lmirror.top/",
"https://atomhub.openatom.cn/",
"https://mirror.ccs.tencentyun.com"
]
}
EOF
# 启动Docker,并设置开机自动启动
systemctl start docker
systemctl enable docker
#停止docker
systemctl stop docker
#重启docker
systemctl daemon-reload
systemctl restart docker
#查看状态
systemctl status docker
2、安装MYSQL
# ======================
# docker mysql
# ======================
# 创建主机目录,挂载到镜像中
mkdir -p /docker/mysql/
mkdir -p /docker/mysql/mysql/conf.d
mkdir -p /docker/mysql/data
mkdir -p /docker/mysql/logs
cp my.cnf /docker/mysql/mysql/conf.d
# 拉取mysql官方镜像最新版本
docker run \
-p 3307:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /docker/mysql/mysql:/etc/mysql \
-v /docker/mysql/logs:/etc/mysql/logs \
-v /docker/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=l3dZxxx8ryb6 \
-d mysql
# 查看是否启动成功
docker ps
# 如果报错 查看日志
docker logs CONTAINER_ID | grep 'error'
# 进入容器
docker exec -it mysql bash
# 登录,密码是 MYSQL_ROOT_PASSWORD=l3dZxxx8ryb6
mysql -u root -p
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
ALTER user 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
# 创建一个远程访问的用户和密码
ALTER user 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'l3dZxxxryb6';
FLUSH PRIVILEGES;
# 确认结果
use mysql
select host,user from user where user ='root';
3、测试验证
本地使用MySQL客户端访问测试。