JAR部署方案
最后更新于:2022-04-02 07:09:13
JAR部署方案
===
>[info] Version: 2.4+ 版本
[TOC]
## 正式环境部署
>[info] - 后端服务通过JAR方式运行
> - 前端项目build的dist,部署到nginx
### 一、jeecg-boot项目打JAR包
- 1、修改配置文件 application-prod.yml
>[warning] 修改 数据库连接、缓存redis、上传附件等配置

- 2、切换Maven为生产模式

- 3、通过jeecg-boot-parent打包

- 4、拿到 `jeecg-boot-module-system-{版本号}.jar` 包

### 二、通过JAR方式启动后台
通过命令启动项目
```
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的目录。
- 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配置需要加上 Upgrade 和Connection 协议头,不然WebSocket会404
### 五、访问应用
通过:http://你的域名 访问项目,出现如下页面,使用账户/密码:admin/123456 登录成功即可

### 六、其他说明
服务器只能开放80端口,不能开放8080端口问题?
> 方案:单独配置一个java api的服务域名 例如 `api.jeecg.com`,通过ngnix映射此域名到8080端口
> vue前端配置接口到域名`api.jeecg.com`。
';