WAR部署方案

正式环境部署

部署方案采用nginx+tomcat部署方案后端服务发布部署到tomcat中前端项目由于build后都是静态问题,部署到nginx中

一、后台项目jeecg-boot打war包(jeecg-boot-module-system)

(1)后台项目jeecg-boot-module-system打war包之前要进行如下改动

1、pom.xml文件中项目打包格式设置为war

<packaging>war</packaging>具体配置如下:

  1. <modelVersion>4.0.0</modelVersion>
  2. <groupId>org.jeecgframework.boot</groupId>
  3. <artifactId>jeecg-boot-module-system</artifactId>
  4. <version>2.0.0</version>
  5. <packaging>war</packaging>

2、pom.xml文件删除插件spring-boot-maven-plugin下面配置删除

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. </plugin>
  7. </plugins>
  8. </build>

3、增加项目web容器部署的支持:修改类/src/main/java/org/jeecg/JeecgApplication.java代码如下:

  1. package org.jeecg;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.boot.builder.SpringApplicationBuilder;
  5. import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
  6. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  7. @SpringBootApplication
  8. @EnableSwagger2
  9. public class JeecgApplication extends SpringBootServletInitializer {
  10. @Override
  11. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  12. return application.sources(JeecgApplication.class);
  13. }
  14. public static void main(String[] args) {
  15. System.setProperty("spring.devtools.restart.enabled", "true");
  16. SpringApplication.run(JeecgApplication.class, args);
  17. }
  18. }

4、修改配置文件(数据库和redis配置)

  • 1、修改数据库连接 application-prod.yml
  • 2、修改缓存redis配置 application-prod.yml
  • 3、修改上传附件配置 application-prod.yml输入图片说明
  • 4、切换配置为线上配置 application.yml 输入图片说明

然后 maven package 打war包

二、后台项目jeecg-boot部署tomcat

1、设置tomcat端口号 8080,设置tomcat编码 URIEncoding="UTF-8"2、部署项目到tomcat安装目录webapps/jeecg-boot工程目录下部署完后通过http://localhost:8080/jeecg-boot 可以访问项目,提示token错误说明部署成功!!

三、前台项目build

1、修改 public/index.html

  1. //图片预览请求地址
  2. window._CONFIG['domianURL'] = 'http://localhost:8080/jeecg-boot';
  3. window._CONFIG['imgDomainURL'] = 'http://localhost:8080/jeecg-boot/sys/common/view';

2、后台接口服务项目名默认是jeecg-boot,如果需要个性化可以修改src/utils/request.js 中baseURL参数(一般情况下默认不需要修改)具体代码如下:

  1. // 创建 axios 实例
  2. const service = axios.create({
  3. baseURL: '/jeecg-boot/', // api base_url
  4. timeout: 6000 // 请求超时时间
  5. })

3、build项目使用build命令打包项目输入图片说明build完成后台会生成一个dist的目录该目录下即为build后的文件。

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

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

nginx监听80端口

  1. server {
  2. listen 80;
  3. server_name 你的域名;
  4. #后台服务配置,配置了这个location便可以通过http://域名/jeecg-boot/xxxx 访问
  5. location ^~ /jeecg-boot {
  6. proxy_pass http://127.0.0.1:8080/jeecg-boot/;
  7. proxy_set_header Host 127.0.0.1;
  8. proxy_set_header X-Real-IP $remote_addr;
  9. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  10. }
  11. #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题
  12. location / {
  13. root html;
  14. index index.html index.htm;
  15. if (!-e $request_filename) {
  16. rewrite ^(.*)$ /index.html?s=$1 last;
  17. break;
  18. }
  19. }
  20. }

配置后启动tomcat,启动nginx通过http://你的域名/ 访问项目,出现如下页面,使用账户/密码:admin/123456 登录成功即可输入图片说明