当前位置: 首页 > news >正文

SpringBlade 部署文档

SpringBlade 部署文档

目录

  1. 环境准备
  2. 基础软件安装
  3. 中间件安装
  4. 项目部署
  5. 服务启动
  6. 常见问题

1. 环境准备

1.1 硬件要求

  • CPU: 2核以上
  • 内存: 4G以上
  • 磁盘空间: 20G以上

1.2 软件版本

  • JDK: 17+ (按项目而定)
  • MySQL: 5.7+
  • Redis: 6.0+
  • Maven: 3.8+
  • Nginx: 1.18+

2. 基础软件安装

2.1 安装JDK 17 (按项目而定)

# 更新apt源
sudo apt update

# 安装OpenJDK 17
sudo apt install openjdk-17-jdk

# 验证安装
java -version

2.2 安装Maven

# 下载Maven
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

# 解压
sudo tar xf apache-maven-3.8.8-bin.tar.gz -C /opt/

# 配置环境变量
echo 'export MAVEN_HOME=/opt/apache-maven-3.8.8' >> ~/.bashrc
echo 'export PATH=$PATH:$MAVEN_HOME/bin' >> ~/.bashrc
source ~/.bashrc

# 验证安装
mvn -version

2.3 安装Nginx

# 安装Nginx
sudo apt install nginx

# 启动Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

# 验证安装
nginx -v

3. 中间件安装

3.1 安装MySQL

# 安装MySQL
sudo apt install mysql-server

# 启动MySQL
sudo systemctl start mysql

# 设置开机自启
sudo systemctl enable mysql

# 配置MySQL安全性
sudo mysql_secure_installation

# 创建数据库和用户
mysql -uroot -p
CREATE DATABASE blade DEFAULT CHARACTER SET = utf8mb4;
CREATE USER 'blade'@'localhost' IDENTIFIED BY 'blade密码';
GRANT ALL ON blade.* TO 'blade'@'localhost';
FLUSH PRIVILEGES;

3.2 安装Redis

# 安装Redis
sudo apt install redis-server

# 修改Redis配置
sudo vim /etc/redis/redis.conf
# 修改以下配置:
# bind 127.0.0.1 ::1
# requirepass 你的密码

# 重启Redis
sudo systemctl restart redis

# 设置开机自启
sudo systemctl enable redis

4. 项目部署

4.1 获取项目代码

# 克隆项目
git clone https://gitee.com/smallc/SpringBlade.git

# 进入项目目录
cd SpringBlade

4.2 修改配置文件

需要修改以下配置文件:

spring:
  data:
    redis:
      host: 127.0.0.1
      port: 6379
      password: 你的Redis密码
      database: 0
  datasource:
    url: jdbc:mysql://localhost:3306/blade?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
    username: blade
    password: blade密码

4.3 数据库初始化

# 导入数据库脚本
mysql -ublade -p blade < doc/sql/blade-saber-mysql.sql

4.4 项目打包

# 打包项目
mvn clean package -Dmaven.test.skip=true

4.5 部署项目

# 创建部署目录
sudo mkdir -p /opt/blade

# 复制jar包
sudo cp target/SpringBlade.jar /opt/blade/
sudo cp doc/script/service.sh /opt/blade/

# 赋予执行权限
sudo chmod +x /opt/blade/service.sh

5. 服务启动

5.1 配置服务

# 创建部署目录
sudo mkdir -p /opt/blade

# 复制jar包
sudo cp target/SpringBlade.jar /opt/blade/
sudo cp doc/script/service.sh /opt/blade/

# 赋予执行权限
sudo chmod +x /opt/blade/service.sh

5.2 启动服务

# 重载服务配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start blade

# 设置开机自启
sudo systemctl enable blade

# 查看服务状态
sudo systemctl status blade

# 查看服务日志
sudo journalctl -u blade -f

5.3 配置Nginx反向代理

# 编辑Nginx配置
sudo vim /etc/nginx/conf.d/blade.conf

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

# 测试配置
sudo nginx -t

# 重载Nginx配置
sudo nginx -s reload

6. 常见问题

6.1 端口占用

# 查看端口占用
sudo netstat -tunlp | grep 8080

# 关闭占用进程
sudo kill -9 进程ID

6.2 日志查看

# 查看实时日志
tail -f /opt/blade/logs/blade.log

# 查看错误日志
tail -f /opt/blade/logs/error.log

6.3 服务管理命令

# 启动服务
sudo systemctl start blade

# 停止服务
sudo systemctl stop blade

# 重启服务
sudo systemctl restart blade

# 查看状态
sudo systemctl status blade

6.4 内存查看

# 查看内存使用
free -h

# 查看进程内存
ps aux | grep java

6.5 磁盘空间查看

# 查看磁盘使用
df -h

# 查看目录大小
du -sh /opt/blade/*

注意事项:

  • 请确保服务器防火墙开放必要端口(8080, 80, 3306, 6379)
  • 生产环境建议使用域名访问并配置SSL证书
  • 建议定期备份数据库和配置文件
  • 建议配置监控告警机制
  • 重要配置文件建议加密存储SpringBlade 部署文档

相关文章:

  • 基于Python的CATIA装配体全约束自动化解决方案
  • JavaScript页面事件与滚动
  • mysql学习-事务隔离级别
  • 文件IO 2
  • 计算机科学技术研究者文献数据库推荐
  • 树莓派5 外设GPIO使能 PWM
  • DaVinci Resolve19.1下载:达芬奇调色中文版+安装步骤
  • 服务器ubuntu22.04上安装tiny-cuda-nn
  • STM32 + keil5 跑马灯
  • 深入理解 Apache Dagster:数据管道编排实战指南
  • 系统调用与中断
  • 鸿蒙学习手册(HarmonyOSNext_API16)_应用开发UI设计:Swiper
  • Swoole 的 Hyperf 框架和 Go 的 Gin 框架高并发原理以及技术实现对比分析
  • [C++面试] 智能指针面试点(重点)续4
  • 动手学深度学习:AlexNet
  • 从基础到实践(二十三):MCU选型设计指南
  • 避坑,c#开发人员学习开发app时.NET MAUI和Vue3 选择
  • 青少年编程与数学 02-013 初中数学知识点 04课题、图形与几何
  • 洛谷题单2-P1424 小鱼的航程(改进版)-python-流程图重构
  • [NCTF2019]Fake XML cookbook [XXE注入]
  • 台行政机构网站删除“汉人”改为“其余人口”,国台办回应
  • 内塔尼亚胡:以军将在未来几天“全力进入”加沙
  • 上海北外滩开发建设五周年交出亮眼答卷,未来五年有何新目标?
  • 技术派|更强的带刀侍卫:从054B型战舰谈谈世界护卫舰发展
  • 《AI×SCIENCE十大前沿观察》9:合成数据和数据基础设施
  • 马上评丨摆摊要交芙蓉王?对吃拿卡要必须零容忍