Skip to content

宝塔面板部署项目

鸣谢

本篇宝塔部署指南由 Gitee@KAI(莫愁) 大佬编写,感谢大佬的开源贡献。

环境要求

  • 宝塔面板(下方示例为宝塔 9.5.0)
  • Java 运行环境 (已安装并配置, OpenJDK 17)
  • MySQL 数据库 (已安装并配置, Mysql8.x)
  • Redis 服务 (已安装并配置, 5.x以上)

部署步骤

1. 上传项目文件

  1. 登录宝塔面板
  2. 进入文件管理
  3. 在服务器上创建项目目录,例如:/www/wwwroot/continew-adminimage
  4. 按图片顺序执行 可见有一个app的目录 image-2
  5. 将打包好的项目文件(位于 continew-webapi 目录下)上传到该到/www/wwwroot/continew-admin目录下

2. 配置数据库

  1. 在宝塔面板中进入数据库管理
  2. 创建新的数据库,记录数据库名、用户名和密码 image-3
  3. 如果你配置文件的spring.liquibase.enable=true 可以跳过步骤4 因为他会在启动的时候自动运行 image-4
  4. 执行数据库脚本 数据库脚本 continew-webapi/src/main/resources/db/changelogimage-5

3. 配置项目环境变量

  1. 修改项目配置文件 application-prod.yml,配置以下信息:这步可以在本地先改好
    yaml
    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/你的数据库名?serverTimezone=Asia/Shanghai&useSSL=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&autoReconnect=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
        username: 你的数据库用户名
        password: 你的数据库密码
      
      redis:
        host: localhost
        port: 6379
        password: 你的Redis密码(如果有)

4. 配置Java项目运行

  1. 脚本运行 进入我们的项目文件夹/www/wwwroot/continew-admin/app/bin
shell
nohup /www/server/java/jdk-17.0.8/bin/java -jar -XX:+UseZGC -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod continew-admin.jar > nohup.out 2>&1 &

/usr/lib/jvm/java-17-openjdk-amd64/bin/java 是你的Java安装目录 如果只有一个版本可以直接用 java -jar -argsxxx(一个服务器可以安装多个Java版本) 当我们看见图中内容就代表启动成功了 image-6 2. 宝塔运行 如图所示image-7

5. 启动项目

  1. 配置完成后,点击"启动"按钮
  2. 查看运行日志,确保项目正常启动
  3. 访问 http://你的服务器IP:端口号 测试项目是否正常运行如果开启防火墙需要先放行端口 - 如果是云服务器需要到安全组放开

常见问题处理

  1. 如果项目无法启动,请检查:

    • 端口是否被占用
    • 数据库连接是否正确
    • Redis连接是否正确
    • 日志中是否有具体错误信息
  2. 如果访问项目出现502错误:

    • 检查项目是否正常运行
    • 检查反向代理配置是否正确
    • 检查服务器防火墙设置

维护说明

  1. 项目更新步骤:

    • 停止当前运行的项目
    • 上传新的JAR包
    • 重新启动项目
  2. 日常维护:

    • 定期查看系统日志
    • 监控服务器资源使用情况
    • 定期备份数据库

注意事项

  1. 部署前请确保已经完成了所有的环境安装和配置
  2. 建议在生产环境部署前在测试环境进行充分测试
  3. 重要数据请定期备份
  4. 建议配置服务器防火墙,只开放必要的端口
  5. 生产环境建议使用域名和SSL证书,提高安全性