基本环境#
我用的是windows + WSL2(ubuntu22) + docker
windows负责写代码
WSL提供Linux环境(类似服务器)
Docker提供MYSQL,Redis镜像,将这些组件容器化,方便启动,停止或者删除
如果是云服务器,操作基本类似
ssh客户端#
ssh客户端直接用vscode,轻量级,自带文件传输(直接拖或者复制粘贴),自带图形界面好管理
WSL2#
jdk和maven都要直接安装到wsl2环境上
JDK#
java直接安装jdk17的包:
sudo apt-get install openjdk-17-jdkbash如果想搜索有什么版本的jdk能安装,可以用:
sudo apt-cache search java sdkbashmaven#
ubuntu22默认安装maven3.6,一般需要maven3.8版本往上
在github仓库中有对应的环境安装包:env ↗
clone下来,在environment/maven目录下,有3.8版本安装包,目前里面的安装脚本有点问题(默认使用apt下载),不要使用
在environment/maven目录打开终端:
新建一个安装脚本,安装的maven会被放在/opt目录下:
#!/usr/bin/env bash
set -e
# ===== 配置区 =====
MAVEN_VERSION="3.8.8"
MAVEN_ARCHIVE="apache-maven-${MAVEN_VERSION}.zip"
INSTALL_BASE="/opt"
INSTALL_DIR="${INSTALL_BASE}/apache-maven-${MAVEN_VERSION}"
PROFILE_FILE="$HOME/.bashrc"
# ===== 工具函数 =====
info() { echo -e "\033[0;34m[INFO]\033[0m $1"; }
ok() { echo -e "\033[0;32m[OK]\033[0m $1"; }
warn() { echo -e "\033[0;33m[WARN]\033[0m $1"; }
err() { echo -e "\033[0;31m[ERR]\033[0m $1"; exit 1; }
# ===== 前置检查 =====
info "检查 Java 环境"
command -v java >/dev/null 2>&1 || err "未检测到 Java,请先安装 JDK"
info "检查 Maven 安装包"
[[ -f "$MAVEN_ARCHIVE" ]] || err "未找到 $MAVEN_ARCHIVE"
# ===== 解压并安装 =====
info "安装 Maven 到 $INSTALL_DIR"
sudo mkdir -p "$INSTALL_BASE"
if [[ -d "$INSTALL_DIR" ]]; then
warn "已存在 $INSTALL_DIR,跳过解压"
else
sudo unzip -q "$MAVEN_ARCHIVE" -d "$INSTALL_BASE"
ok "解压完成"
fi
[[ -x "$INSTALL_DIR/bin/mvn" ]] || err "mvn 可执行文件不存在"
# ===== 配置环境变量(用户级)=====
info "配置环境变量到 $PROFILE_FILE"
# 删除旧配置(仅 Maven)
sed -i '/# >>> maven >>>/,/# <<< maven <<</d' "$PROFILE_FILE"
cat >> "$PROFILE_FILE" <<EOF
# >>> maven >>>
export MAVEN_HOME=$INSTALL_DIR
export PATH=\$MAVEN_HOME/bin:\$PATH
# <<< maven <<<
EOF
# 立即生效
export MAVEN_HOME="$INSTALL_DIR"
export PATH="$MAVEN_HOME/bin:$PATH"
# ===== 验证 =====
info "验证 Maven"
mvn -v | head -n 1
ok "Maven ${MAVEN_VERSION} 安装完成"
info "如新终端中 mvn 不生效,请执行: source ~/.bashrc"
bash如果想卸载:
#!/usr/bin/env bash
set -e
# ===== 配置区 =====
MAVEN_VERSION="3.8.8"
INSTALL_DIR="/opt/apache-maven-${MAVEN_VERSION}"
PROFILE_FILE="$HOME/.bashrc"
info() { echo -e "\033[0;34m[INFO]\033[0m $1"; }
ok() { echo -e "\033[0;32m[OK]\033[0m $1"; }
warn() { echo -e "\033[0;33m[WARN]\033[0m $1"; }
# ===== 删除 Maven =====
if [[ -d "$INSTALL_DIR" ]]; then
info "删除 $INSTALL_DIR"
sudo rm -rf "$INSTALL_DIR"
ok "Maven 文件已删除"
else
warn "$INSTALL_DIR 不存在,跳过"
fi
# ===== 清理环境变量 =====
info "清理 ~/.bashrc 中的 Maven 配置"
sed -i '/# >>> maven >>>/,/# <<< maven <<</d' "$PROFILE_FILE"
ok "环境变量已清理"
info "请执行: source ~/.bashrc 或重新打开终端"
bashdocker#
docker上需要做的事:拉取mysql,redis,mq等镜像,然后直接启动,还有就是部署一整个项目
windows上安装docker直接参考WSL 上的 Docker 容器入门 | Microsoft Learn ↗
按教程一路点下去(先配置WSL2再安装docker,这样docker会自动在wsl2配好对应docker环境)
之后要使用docker的时候先在windows上启动docker desktop,然后在wsl2中操作
mysql#
拉取mysql镜像
docker pull registry.cn-hangzhou.aliyuncs.com/xfg-studio/mysql:8.0.32bash在clone下来的env ↗环境中,找到run_install_software.sh
添加可执行权限后运行
选择安装mysql
默认用户:root
默认密码:123456
默认端口:wsl2的13306
redis#
拉取redis镜像
docker pull registry.cn-hangzhou.aliyuncs.com/xfg-studio/redis:6.2bash在clone下来的env ↗环境中,找到run_install_software.sh
添加可执行权限后运行
选择安装redis
无用户名无密码
默认端口:wsl2的16379
可以使用docker tag给镜像起其他名称
项目部署#
内网穿透#
下载地址:NATAPP-内网穿透 ↗
使用方式也很简单,下载exe客户端放到一个固定位置,配置config.ini:
# https://natapp.cn/ - 支持免费使用,但付费会更稳定一些
# 将本文件放置于natapp同级目录 程序将读取 [default] 段
# 在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
# 命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #对应一条隧道的authtoken,你需要更换为你的。否则不能正常启动。
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空ini微信鉴权#
配置NATAPP:在NATAPP中购买一个VIP隧道,顺道买一个二级域名,配置本地web端口为本地web服务的端口
微信测试平台:测试平台 ↗
注册之后:
-
记录右上角的微信号
-
接口配置信息的
URL配置为本地web服务中处理微信鉴权的controller地址:组合以下两个二级域名:
http://baishui.nat100.top/本地接口:
api/v1/weixin/portal/receive -
接口配置信息的
Token随便设置就行 -
JS接口安全域名就填上面二级域名
配置完之后,启动本地服务,此时提交接口配置信息会成功,失败的话查看本地服务的报错即可
扫描测试号二维码,关注,发送信息,此时信息会被微信服务器转发给本地服务处理