10分钟极速部署!UJCMS开源Java CMS全场景安装指南(2025最新版)
🔥 你是否正经历这些部署痛点?
- 下载的CMS压缩包解压后文件混乱,不知从何开始配置?
- 数据库连接总是报错,反复检查却找不到问题所在?
- Tomcat部署时出现404错误,排查半天发现是路径问题?
- 开发环境运行正常,生产环境却频频崩溃?
本文将通过Jar包独立部署、Tomcat容器部署、开发环境调试三种场景,带你从零到一完成UJCMS的部署工作。文末附赠常见错误排查手册和性能优化 checklist,让你的Java CMS部署之路畅通无阻。
📋 部署前准备清单
环境要求
| 组件 | 最低版本 | 推荐版本 | 备注 |
|---|---|---|---|
| JDK | 11 | 17 | OpenJDK/Zulu均可 |
| MySQL | 5.7.22 | 8.0 | 必须启用InnoDB引擎 |
| Tomcat | 9.0 | 10.1 | 仅War部署需要 |
| 内存 | 2GB | 4GB | 生产环境建议4GB+ |
| 磁盘 | 10GB空闲 | 20GB空闲 | 含日志和上传文件空间 |
⚠️ 警告:不要将程序安装在含中文或空格的路径下,会导致静态资源加载失败!
数据库准备
- 登录MySQL终端执行以下命令创建数据库:
CREATE DATABASE ujcms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 创建专用数据库用户并授权:
CREATE USER 'ujcms'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON ujcms.* TO 'ujcms'@'localhost';
FLUSH PRIVILEGES;
✨ 特性:UJCMS支持自动建表,无需手动执行SQL脚本!首次启动时会自动创建表结构并初始化数据。
🚀 三种部署方式全解析
1. Jar包独立部署(推荐生产环境)
部署步骤
- 获取安装包
# 克隆代码仓库
git clone https://gitcode.com/dromara/ujcms
cd ujcms
# 编译打包
mvn package -P jar -DskipTests
- 准备部署目录
# 创建部署目录
mkdir -p /opt/ujcms/{bin,config,logs,static}
# 复制Jar包
cp target/ujcms-*.jar /opt/ujcms/bin/ujcms.jar
# 复制静态资源
cp -r src/main/webapp/* /opt/ujcms/static/
# 复制配置文件
cp src/main/resources/application.yaml /opt/ujcms/config/
- 修改配置文件
# /opt/ujcms/config/application.yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/ujcms?useSSL=false&serverTimezone=Asia/Shanghai
username: ujcms
password: your_strong_password
liquibase:
enabled: true # 首次启动后可改为false关闭自动升级
server:
port: 8080
servlet:
context-path: /
logging:
file:
name: /opt/ujcms/logs/ujcms.log
- 创建启动脚本
# /opt/ujcms/bin/start.sh
#!/bin/bash
nohup java -jar ujcms.jar --spring.config.location=../config/application.yaml > ../logs/console.log 2>&1 &
echo $! > ujcms.pid
- 启动服务
cd /opt/ujcms/bin
chmod +x start.sh
./start.sh
验证部署
# 检查日志确认启动成功
tail -f /opt/ujcms/logs/console.log
# 看到以下日志表示启动完成
# com.ujcms.cms.Application: Started Application in xxx seconds
系统服务配置
# /etc/systemd/system/ujcms.service
[Unit]
Description=UJCMS Content Management System
After=network.target mysql.service
[Service]
User=www-data
WorkingDirectory=/opt/ujcms/bin
ExecStart=/bin/bash start.sh
ExecStop=/bin/kill `cat ujcms.pid`
Restart=always
[Install]
WantedBy=multi-user.target
# 启用并启动服务
systemctl daemon-reload
systemctl enable --now ujcms
2. Tomcat War部署(适合已有Tomcat环境)
部署步骤
- 编译War包
git clone https://gitcode.com/dromara/ujcms
cd ujcms
mvn package -P war -DskipTests
- 准备Tomcat环境
# 清理现有部署
rm -rf /opt/tomcat/webapps/*
# 复制War包
cp target/ujcms-*.war /opt/tomcat/webapps/ROOT.war
- 配置数据库连接
等待Tomcat自动解压War包后修改配置:
vi /opt/tomcat/webapps/ROOT/WEB-INF/classes/application.yaml
修改内容同Jar部署的配置文件,主要更新数据库连接信息。
- 启动Tomcat
/opt/tomcat/bin/startup.sh
验证部署
访问 http://服务器IP:8080/cp,使用默认账号密码登录:
- 用户名:admin
- 密码:password
⚠️ 安全提示:首次登录后请立即修改默认密码!
3. 开发环境部署(适合二次开发)
环境准备
- 安装IntelliJ IDEA 2023.1+
- 安装JDK 17并配置环境变量
- 安装Maven 3.8+
部署步骤
- 导入项目
- 打开IDEA → File → Open → 选择项目pom.xml
- 等待Maven依赖下载完成(首次可能需要30分钟+)
-
配置数据库 修改
src/main/resources/application.yaml中的数据库连接信息 -
启动应用
- 在项目结构中找到
com.ujcms.cms.Application类 - 右键点击 → Run 'Application.main()'
- 验证部署
- 前台地址:http://localhost:8080
- 后台地址:http://localhost:8080/cp
⚙️ 关键配置详解
数据库配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ujcms?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: ujcms
password: your_strong_password
hikari:
maximum-pool-size: 20
minimum-idle: 5
idle-timeout: 300000
缓存配置
spring:
cache:
type: redis
redis:
time-to-live: 3600000
cache-null-values: false
redis:
host: localhost
port: 6379
password: redis_password
database: 1
文件存储配置
ujcms:
upload:
# 本地存储
local:
enabled: true
path: /opt/ujcms/uploads
# 支持阿里云OSS、七牛云等对象存储
aliyun-oss:
enabled: false
endpoint: oss-cn-beijing.aliyuncs.com
access-key: your_access_key
secret-key: your_secret_key
bucket-name: ujcms-uploads
🐛 常见问题排查指南
数据库连接错误
症状:启动时报错 Could not get JDBC Connection
解决方案:
- 检查MySQL服务是否正常运行:
systemctl status mysql - 验证数据库连接参数:
mysql -u ujcms -p'your_strong_password' -h localhost -P 3306 ujcms
- 检查防火墙设置:
# 开放MySQL端口
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
表结构锁错误
症状:启动时报错 LockException: Could not acquire change log lock
解决方案:
-- 清除锁表数据
DELETE FROM databasechangeloglock;
DELETE FROM flw_ev_databasechangeloglock;
验证码无法显示
症状:登录页面验证码不显示,控制台报404错误
解决方案:
# 安装字体配置组件
yum install -y fontconfig # CentOS
# 或
apt-get install -y fontconfig # Ubuntu
静态资源加载失败
症状:页面样式错乱,浏览器控制台报404错误
解决方案:
- 检查静态资源目录权限:
chmod -R 755 /opt/ujcms/static
- 确认配置文件中的上下文路径:
server:
servlet:
context-path: / # 确保是根路径
📈 性能优化建议
生产环境配置优化
# 生产环境配置文件 application-prod.yaml
server:
tomcat:
max-threads: 200
min-spare-threads: 20
connection-timeout: 20000
spring:
profiles:
active: prod
datasource:
hikari:
maximum-pool-size: 50
connection-timeout: 30000
# 启用GZIP压缩
server:
compression:
enabled: true
mime-types: text/html,text/xml,text/css,application/json,application/javascript
min-response-size: 1024
JVM参数优化
# 在启动脚本中添加
java -Xms2g -Xmx4g -XX:+UseG1GC -XX:MaxGCPauseMillis=200 \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/ujcms/logs/ \
-jar ujcms.jar --spring.profiles.active=prod
📝 部署后必做事项
-
安全加固
- 修改默认密码:登录后台 → 系统设置 → 密码修改
- 配置HTTPS:部署SSL证书并修改server.port=443
- 限制后台IP访问:配置security.ips白名单
-
系统配置
- 设置网站基本信息:后台 → 站点设置
- 配置邮件服务:后台 → 系统设置 → 邮件配置
- 设置备份策略:后台 → 系统工具 → 备份设置
-
性能监控
- 启用Spring Boot Actuator:添加依赖并配置监控端点
- 集成Prometheus+Grafana监控系统指标
- 设置日志轮转:配置logback.xml实现日志切割
🎯 总结与展望
通过本文,你已经掌握了UJCMS的三种部署方式:
- Jar包部署:适合生产环境,独立运行无需额外容器
- War包部署:适合已有Tomcat环境的场景
- 开发环境部署:适合二次开发和调试
UJCMS作为一款企业级Java CMS,凭借其自动化部署、灵活配置和高性能特性,能够满足各类网站建设需求。无论是企业官网、新闻门户还是行业垂直站点,都能通过UJCMS快速构建。
🔔 提示:关注项目GitHub仓库获取最新更新,定期更新可获得更多功能和安全补丁!
👇 互动交流
- 如果你在部署过程中遇到问题,欢迎在评论区留言
- 觉得本文有帮助?点赞 + 收藏 + 关注,获取更多技术干货
- 下期预告:《UJCMS模板开发完全指南》
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



