WAR部署方案
最后更新于:2022-04-02 07:09:17
WAR部署方案
===
>[info] Version: 2.4+ 版本
## 正式环境部署
> 部署方案采用nginx+tomcat部署方案
> 后端服务发布部署到tomcat中
> 前端项目build后dist部署到nginx中
### 一、后台项目jeecg-boot打war包(jeecg-boot-module-system)
#### (1)后台项目jeecg-boot-module-system打war包之前要进行如下改动
1、pom.xml文件中项目打包格式设置为war
war
具体配置如下:
```
org.jeecgframework.boot
jeecg-boot-parent
2.4.0
4.0.0
jeecg-boot-module-system
war
```
2、pom.xml文件删除插件spring-boot-maven-plugin
下面配置删除
```
org.springframework.boot
spring-boot-maven-plugin
```
3、增加项目web容器部署的支持:
修改类 jeecg-boot-module-system/org.jeecg.JeecgSystemApplication
代码如下:
```
package org.jeecg;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class JeecgSystemApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(JeecgSystemApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(JeecgSystemApplication.class, args);
}
}
```
4、注释掉WebSocket配置
```
将此类注释掉
jeecg-boot-base/jeecg-boot-base-core/org.jeecg.config.WebSocketConfig
```
5、修改配置文件(数据库和redis配置)
- a、修改数据库连接 application-prod.yml
- b、修改缓存redis配置 application-prod.yml
- c、修改上传附件配置 application-prod.yml

- d、切换生产模式打包

首先执行下jeecg-boot-parent的install 操作

然后 maven package 打war包

### 二、后台项目jeecg-boot部署tomcat
1、设置tomcat端口号 8080,设置tomcat编码 URIEncoding="UTF-8"
2、部署项目到tomcat安装目录webapps/jeecg-boot工程目录下
部署完后通过http://localhost:8080/jeecg-boot 可以访问项目,提示token错误说明部署成功!!
```
注意:
1.tomcat解压war后的目录名称即你访问的根路径,即这里的jeecg-boot
2.新版的swagger需要访问http://localhost:8080/jeecg-boot/doc.html
```
### 三、前台项目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后的文件。
4、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;
}
}
}
```
4、访问应用
配置后启动tomcat,启动nginx
通过http://你的域名/ 访问项目,出现如下页面,使用账户/密码:admin/123456 登录成功即可

';