JAVA前后端分离maven项目打包上线部署具体步骤教程

 

正式环境部署

后端服务通过JAR方式运行
前端项目build的dist,部署到nginx

一、后台项目打jar包

切换配置为发布模式打包

修改pom.xml加上打包插件(如果有就不需要加)

<build>
  <plugins>
  <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
 </plugins>
</build>

以低代码平台JeecgBoot为例,首先执行下jeecg-boot-parent的install 操作

然后 maven package 打jar包

 找到jeecg-boot-module-system-2.0.0.jar JAR包

 二、后台项目jeecg-boot启动

通过命令启动项目

Window启动命令: java -jar D:\jeecg-boot-module-system-2.0.0.jar

Linux下后台进程启动命令: nohup java -jar jeecg-boot-module-system-2.0.0.jar >catalina.out 2>&1 &

关掉项目: ps -ef|grep java kill 进程号

三、前台项目build

1、修改后台接口服务地址 .env.production

NODE_ENV=production
VUE_APP_API_BASE_URL=https://bootapi.jeecg.com
VUE_APP_CAS_BASE_URL=http://localhost:8888/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview

 2、build项目
使用build命令打包项目

输入图片说明

build完成后台会生成一个dist的目录该目录下即为build后的文件。

3、nginx部署前端项目
拷贝dist下的代码到nginx安装目录下html目录中,即可

四、nginx配置(conf/nginx.conf)

nginx监听80端口

server {
		listen       80;
		server_name  你的域名;

		#后台服务配置,配置了这个location便可以通过http://域名/jeecg-boot/xxxx 访问		
		location ^~ /jeecg-boot {
			proxy_pass              http://127.0.0.1:8080/jeecg-boot/;
			proxy_set_header        Host 127.0.0.1;
			proxy_set_header        X-Real-IP $remote_addr;
			proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
		}
		#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
		location / {
			root   html;
			index  index.html index.htm;
			if (!-e $request_filename) {
				rewrite ^(.*)$ /index.html?s=$1 last;
				break;
			}
		}
	}

 五、nginx 开启压缩,提高首页访问效率

nginx.conf 的 http 中加入以下片断

    # gzip config
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

参考图:

 配置后启动nginx
通过:http://你的域名 访问项目

其他说明:

如果服务器只能开放一个80端口,不能开放8080端口。则可以单独配置一个java api的服务域名,通过ngnix映射此域名到8080端口,vue前端配置接口地址到新域名。

### Ruoyi 前后端分离部署教程 #### 准备工作 为了成功部署Ruoyi前后端分离项目,需确保服务器已安装必要的软件环境,包括Java环境、MySQL数据库以及Redis缓存服务[^5]。 #### 一、前端准备工作 1. **修改路由配置** 编辑`router/index.js`文件中的路由设置,以适应实际应用场景的需求。这一步骤对于确保应用能够正确加载页面至关重要[^1]。 2. **调整构建工具配置** 更新`vue.config.js`来指定正确的代理目标和其他开发选项,从而简化本地调试过程并提高效率。 3. **设定生产环境变量** 在`.env.production`内定义API基础URL及其他必要参数,以便应用程序能够在不同环境中灵活切换连接方式。 4. **执行打包命令** 使用npm或yarn运行`build`脚本完成前端资源编译,并准备好用于发布的静态文件夹dist。 ```bash npm run build ``` #### 二、Nginx反向代理配置 通过编辑nginx.conf或其他形式的站点配置文件实现对请求路径重写及转发功能,特别是针对带有特定前缀(如/prod-api)的情况应做适当处理[^4]: ```nginx server { listen 80; server_name localhost; location /prod-api/ { proxy_pass http://localhost:8080/; rewrite ^/prod-api/(.*)$ /$1 break; } } ``` #### 三、后端服务搭建 1. **优化资源配置** 对`application-prod.yml`内的各项属性进行微调,比如数据源链接字符串、线程池大小等,使之更贴合线上运营需求。 2. **自定义日志策略** 调整`logback-spring.xml`里的记录级别与输出位置,方便后续排查问题时快速定位错误源头。 3. **实施Maven打包操作** 利用maven插件将整个工程构建成可独立运行的jar包,随后将其传输至远程主机上待命启动[^2]。 ```xml <build> <plugins> <!-- Spring Boot Maven Plugin --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> ``` #### 四、自动化运维脚本编写 创建名为`ry.sh`的shell脚本来辅助日常维护活动,例如定时重启进程、清理临时文件等任务都可以在此处加以封装。 ```sh #!/bin/bash nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod & echo $! > pid.txt ``` #### 五、正式上线发布 最后按照既定计划依次完成代码推送、依赖同步、容器拉取等一系列动作直至新版本顺利投入运行状态为止;期间务必密切关注监控平台反馈的各项指标变化趋势以防意外发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会理财的程序员不是好摄影师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值