10分钟极速部署!UJCMS开源Java CMS全场景安装指南(2025最新版)

10分钟极速部署!UJCMS开源Java CMS全场景安装指南(2025最新版)

【免费下载链接】ujcms Java开源网站内容管理系统(java cms)。使用SpringBoot、MyBatis、Spring Security、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus等技术开发。 【免费下载链接】ujcms 项目地址: https://gitcode.com/dromara/ujcms

🔥 你是否正经历这些部署痛点?

  • 下载的CMS压缩包解压后文件混乱,不知从何开始配置?
  • 数据库连接总是报错,反复检查却找不到问题所在?
  • Tomcat部署时出现404错误,排查半天发现是路径问题?
  • 开发环境运行正常,生产环境却频频崩溃?

本文将通过Jar包独立部署Tomcat容器部署开发环境调试三种场景,带你从零到一完成UJCMS的部署工作。文末附赠常见错误排查手册性能优化 checklist,让你的Java CMS部署之路畅通无阻。

📋 部署前准备清单

环境要求

组件最低版本推荐版本备注
JDK1117OpenJDK/Zulu均可
MySQL5.7.228.0必须启用InnoDB引擎
Tomcat9.010.1仅War部署需要
内存2GB4GB生产环境建议4GB+
磁盘10GB空闲20GB空闲含日志和上传文件空间

⚠️ 警告:不要将程序安装在含中文或空格的路径下,会导致静态资源加载失败!

数据库准备

  1. 登录MySQL终端执行以下命令创建数据库:
CREATE DATABASE ujcms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 创建专用数据库用户并授权:
CREATE USER 'ujcms'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON ujcms.* TO 'ujcms'@'localhost';
FLUSH PRIVILEGES;

✨ 特性:UJCMS支持自动建表,无需手动执行SQL脚本!首次启动时会自动创建表结构并初始化数据。

🚀 三种部署方式全解析

1. Jar包独立部署(推荐生产环境)

部署步骤
  1. 获取安装包
# 克隆代码仓库
git clone https://gitcode.com/dromara/ujcms
cd ujcms

# 编译打包
mvn package -P jar -DskipTests
  1. 准备部署目录
# 创建部署目录
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/
  1. 修改配置文件
# /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
  1. 创建启动脚本
# /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
  1. 启动服务
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环境)

部署步骤
  1. 编译War包
git clone https://gitcode.com/dromara/ujcms
cd ujcms
mvn package -P war -DskipTests
  1. 准备Tomcat环境
# 清理现有部署
rm -rf /opt/tomcat/webapps/*

# 复制War包
cp target/ujcms-*.war /opt/tomcat/webapps/ROOT.war
  1. 配置数据库连接

等待Tomcat自动解压War包后修改配置:

vi /opt/tomcat/webapps/ROOT/WEB-INF/classes/application.yaml

修改内容同Jar部署的配置文件,主要更新数据库连接信息。

  1. 启动Tomcat
/opt/tomcat/bin/startup.sh
验证部署

访问 http://服务器IP:8080/cp,使用默认账号密码登录:

  • 用户名:admin
  • 密码:password

⚠️ 安全提示:首次登录后请立即修改默认密码!

3. 开发环境部署(适合二次开发)

环境准备
  1. 安装IntelliJ IDEA 2023.1+
  2. 安装JDK 17并配置环境变量
  3. 安装Maven 3.8+
部署步骤
  1. 导入项目
  • 打开IDEA → File → Open → 选择项目pom.xml
  • 等待Maven依赖下载完成(首次可能需要30分钟+)
  1. 配置数据库 修改 src/main/resources/application.yaml 中的数据库连接信息

  2. 启动应用

  • 在项目结构中找到 com.ujcms.cms.Application
  • 右键点击 → Run 'Application.main()'
  1. 验证部署
  • 前台地址: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
解决方案

  1. 检查MySQL服务是否正常运行:systemctl status mysql
  2. 验证数据库连接参数:
mysql -u ujcms -p'your_strong_password' -h localhost -P 3306 ujcms
  1. 检查防火墙设置:
# 开放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错误
解决方案

  1. 检查静态资源目录权限:
chmod -R 755 /opt/ujcms/static
  1. 确认配置文件中的上下文路径:
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

📝 部署后必做事项

  1. 安全加固

    • 修改默认密码:登录后台 → 系统设置 → 密码修改
    • 配置HTTPS:部署SSL证书并修改server.port=443
    • 限制后台IP访问:配置security.ips白名单
  2. 系统配置

    • 设置网站基本信息:后台 → 站点设置
    • 配置邮件服务:后台 → 系统设置 → 邮件配置
    • 设置备份策略:后台 → 系统工具 → 备份设置
  3. 性能监控

    • 启用Spring Boot Actuator:添加依赖并配置监控端点
    • 集成Prometheus+Grafana监控系统指标
    • 设置日志轮转:配置logback.xml实现日志切割

🎯 总结与展望

通过本文,你已经掌握了UJCMS的三种部署方式:

  • Jar包部署:适合生产环境,独立运行无需额外容器
  • War包部署:适合已有Tomcat环境的场景
  • 开发环境部署:适合二次开发和调试

UJCMS作为一款企业级Java CMS,凭借其自动化部署、灵活配置和高性能特性,能够满足各类网站建设需求。无论是企业官网、新闻门户还是行业垂直站点,都能通过UJCMS快速构建。

🔔 提示:关注项目GitHub仓库获取最新更新,定期更新可获得更多功能和安全补丁!


👇 互动交流

  • 如果你在部署过程中遇到问题,欢迎在评论区留言
  • 觉得本文有帮助?点赞 + 收藏 + 关注,获取更多技术干货
  • 下期预告:《UJCMS模板开发完全指南》

【免费下载链接】ujcms Java开源网站内容管理系统(java cms)。使用SpringBoot、MyBatis、Spring Security、Lucene、FreeMarker、TypeScript、Vue3、ElementPlus等技术开发。 【免费下载链接】ujcms 项目地址: https://gitcode.com/dromara/ujcms

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值