支持 Docker / Windows / Linux 多平台部署,选择适合你的方式
部署包包含:程序 JAR 文件、Docker 构建文件、多平台启动脚本、部署文档。
运行前需安装 JDK 17+。推荐使用 Adoptium Temurin 发行版:https://adoptium.net/
适用于任何操作系统的服务器,最简单的部署方式。自带数据卷持久化和健康检查。
服务器已安装 Docker 和 Docker Compose。
# 1. 将部署包上传到服务器
scp -r deploy-package/ user@server:/opt/crm-system
# 2. SSH 登录服务器
ssh user@server
cd /opt/crm-system
# 3. 构建并启动
docker-compose up -d --build
# 4. 查看日志
docker-compose logs -f
# 5. 查看状态
docker-compose ps
# 6. 停止
docker-compose down
H2 数据库文件存储在 Docker 卷 crm-data 中,即使容器删除重建数据也不会丢失。
默认使用内置 H2 嵌入式数据库,数据文件存储在 Docker 卷中,无需单独安装数据库。
适用于 Windows Server,双击脚本即可启动。
安装 JDK 17+,配置 JAVA_HOME 环境变量。
REM 1. 将 crm-system-1.0.0.jar 和 start-windows.bat 放在同一目录
REM 2. 双击 start-windows.bat 启动
REM 3. 浏览器访问
http://localhost:8099
推荐使用 NSSM(Non-Sucking Service Manager)将程序注册为 Windows 服务:
REM 1. 下载 NSSM: https://nssm.cc/download
REM 2. 安装服务
nssm install CRMSystem "C:\path\to\java.exe" -jar "C:\path\to\crm-system-1.0.0.jar"
REM 3. 设置工作目录为程序所在目录
REM 4. 启动服务
nssm start CRMSystem
适用于 CentOS / Ubuntu / Debian 等发行版。
# Ubuntu/Debian
sudo apt update && sudo apt install -y openjdk-17-jre
# CentOS/RHEL
sudo yum install -y java-17-openjdk
# 1. 上传文件到服务器
scp -r deploy-package/ user@server:/opt/crm-system
ssh user@server
# 2. 进入目录
cd /opt/crm-system
# 3. 启动
./start.sh
# 4. 停止
./stop.sh
# 5. 查看日志
tail -f crm-system.log
# 1. 复制服务文件
sudo cp deploy/crm-system.service /etc/systemd/system/
# 2. 根据实际路径修改 service 文件
sudo vi /etc/systemd/system/crm-system.service
# 3. 重载 systemd
sudo systemctl daemon-reload
# 4. 设置开机自启
sudo systemctl enable crm-system
# 5. 启动服务
sudo systemctl start crm-system
# 6. 查看状态
sudo systemctl status crm-system
| 变量名 | 默认值 | 说明 |
|---|---|---|
SERVER_PORT | 8099 | 服务端口 |
DB_PATH | ./data/crmdb | H2 数据库文件路径 |
H2_CONSOLE | false | 是否启用 H2 控制台(访问 /h2-console) |
JWT_SECRET | (内置默认值) | JWT 密钥,生产环境务必修改为随机字符串 |
UPLOAD_DIR | ./uploads | 上传文件存储目录 |
JAVA_OPTS | -Xms256m -Xmx512m | JVM 参数 |
| 用户名 | 密码 | 角色 |
|---|---|---|
| admin | Admin@123 | 系统管理员(首次启动自动创建) |
修改 SERVER_PORT 环境变量或 docker-compose.yml 中的端口映射。
数据存在 data/crmdb.mv.db 文件中。Docker 模式下存在 Docker 卷中。上传的图片文件在 uploads/ 目录。
停止服务后,直接备份 data/ 和 uploads/ 目录即可。
1) 备份 data 目录 2) 替换 JAR 文件 3) 重启服务