Java中的项目部署




项目配置

数据库配置


  • 数据库连接配置
  • 数据库表创建

组件配置


  • Redis配置:​ 配置连接地址
  • Redis配置端口号
  • Redis配置连接密码

日志配置


  • 配置日志存放路径
  • 注意日志字符集是否添加完整,在​encoder​标签中

项目上传

前端


  • 将前端项目压缩上传至服务器
  • 压缩是为了保证项目包含隐藏的文件能够完整地上传至服务器

后端


  • 将后端项目压缩上传至服务器
  • 压缩是为了保证项目包含隐藏的文件能够完整地上传至服务器

项目打包

前端


  • 解压前端项目
  • 进入项目文件夹中
  • 安装依赖:​ npm install --unsafe-perm --registry=xxx(依赖地址)
  • 项目打包:​ npm run build:prod
  • 生成​dist​文件夹

后端

jar

  • 解压后端项目
  • 进入项目文件夹中
  • 项目打包:​ mvn package
  • 生成​target​文件

war

  • 将项目使用外置的Tomcat部署

  • 修改​pom.xml​配置: 将打包方式​packaging​的打包方式改为​war
  • 在​SpringBoot​的​Tomcat​容器依赖中排除掉自带的​Tomcat.增加作用域scope​限制为​provided

  • 新建项目的启动类:

public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.source(XxxApplication.class);
}
}

  • 清理之前的打包项目target:​ mvn clean
  • 对新的项目进行打包:​ mvn package

项目部署

前端

  • 进入​nginx​配置文件​nginx.conf​修改驱动路径:
location / {
root dist所在路径
index index.html index.htm;
}

  • 如果使用root账户,需要同时将文件开头的​user​改为​root
  • 进入​nginx​的​sbin​目录中启动​nginx:​ ./nginx
  • 后续更新部署:​ nginx -s reload

后端

jar
  • 启动jar项目
war

  • 将打包好的​war​包拷贝到​Tomcat​的文件夹​webapps​中
  • 启动​Tomcat:​ service tomcat start

关联

  • 在nginx配置增加配置关联前后端:
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_heaer X-Forward-For $proxy_add_x_forwarded_for;
proxy_pass 实际后端地址;
}
  • 增加配置部署多实例:
upstream cluster {
server 实例IP:8080;
server 实例IP:8080;
}
==========================================================================================================================================================
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_heaer X-Forward-For $proxy_add_x_forwarded_for;
proxy_pass 多实例中的upstream地址;
}