前台
开发踩坑记录:
问题1 开发版能正常登录,而体验版登录异常。
问题根因:开发版勾选了
而体验版默认校验了。(这里的校验其实是校验访问的后台域名否存在,备案过,而调用的本地后台,校验失败)。因此调用后台服务失败。
解决:两种方式: 一种是:绕过校验。右上角三个点,打开开发调试模式
第二种,解决域名不合法。推荐这种,因为小程序上线,无法绕过校验
- 在云服务厂商注册一个域名并进行备案。
- 登录小程序后台,开发 -> 开发管理 -> 开发设置 ->服务器域名。在以下几项,配置后台服务地址(必须为https,注意写上域名和端口)
- request 合法域名
- uploadFile 合法域名
- downloadFile 合法域名
后台
技术栈:java21+springboot+mysql
部署: 后端环境部署——docker部署
- dockerFile 配置:
# 基础镜像 注意jdk21 需要找镜像仓库
FROM docker.1ms.run/openjdk:21
# 作者 dxy修改为自己的名称
MAINTAINER dxy
# 工作目录 后台包存放位置
WORKDIR /usr/local/java
# 同步docker内部的时间
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 设置时区
ENV TZ=Asia/Shanghai
# 设置java应用的端口 9898(可修改为其他)
EXPOSE 9898
# 复制jar包到/user/local/java下
ARG JAR_FILE
# project-name 为jar包的名称(可在pom.xml ->build-> finalName修改)
ADD ${JAR_FILE} ./project-name.jar
# 指定配置文件用online的 -Dspring.profiles.active=online;
# 单独把配置文件放出来,便于修改,避免重新打包- Dspring.config.location=/usr/local/java/application.yml,/usr/local/java/application-online.yml
# /usr/local/java/project-name.jar jar包位置
# /usr/local/java/project-name.log 输出的日志
ENTRYPOINT ["nohup","java","-Dspring.profiles.active=online","-Dspring.config.location=/usr/local/java/application.yml,/usr/local/java/application-online.yml","-jar","/usr/local/java/project-name.jar",">","/usr/local/java/project-name.log","&>","&"]
2.部署文件示意图
注意java应用的配置先修改:
- 先在mysql 中创建一个数据库,用于java应用连接。
- 修改apllycation-online.yml中mysql的配置:修改ip为mysql(docker的配置,java可通过名称访问mysql),修改为刚创建的数据库名称(如果与本地不一致),修改账密(如果与本地不一致)。
- 最后再打为jar包。
上传最新的apllycation-online.yml,以及jar包。
上传目录:user/local/java
3.构建镜像
- 首先创建网络,这样在统一网络下的镜像可以互相通过名称访问(类似域名和ip的关系)
// network-name 为网络名称;
docker network create network-name
- 构建mysql应用
注意添加--network 指定网络。 本地没有镜像,会自动从镜像仓库拉取
// 运行mysql容器
// MYSQL_ROOT_PASSWORD 指定password
docker run -d --name mysql -v mysqldata:/var/lib/mysql -v mysqlconf:/etc/mysql/conf.d -v mysqllog:/var/log/mysql -p 3306:3306 --network network-name -e MYSQL_ROOT_PASSWORD=password mysql:8
// 查看运行的容器
docker ps
- 构建并运行java应用:
// 1.构建java应用
// 1.0.0 为版本号; . 是表示当前的dockerFile文件的位置
docker build -t project-name:1.0.0 .
//查看构建的镜像
docker images
// 2.运行java应用
// network 指定网络;-v指定数据卷;9898为端口号(宿主机端口:容器端口);
docker run -d -it --name project-name --network network-name -v /usr/local/java:/usr/local/java -p 9898:9898 project-name:1.0.0
// 查看运行的容器
docker ps
运行后可以通过如下命令,查看日志
cat nohup.out