返回介绍

18.WAR部署方案

发布于 2020-09-14 22:20:40 字数 9781 浏览 1470 评论 0 收藏 0

正式环境部署

部署方案采用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> 具体配置如下:

  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupId&gt;org.jeecgframework.boot&lt;/groupId&gt;
    &lt;artifactId&gt;jeecg-boot-module-system&lt;/artifactId&gt;
    &lt;version&gt;2.0.0&lt;/version&gt;
    &lt;packaging&gt;war&lt;/packaging&gt;

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

&lt;build&gt;
   &lt;plugins&gt;
    &lt;plugin&gt;
        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
        &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;
    &lt;/plugin&gt;
   &lt;/plugins&gt;
&lt;/build&gt;

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

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;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@SpringBootApplication
@EnableSwagger2
public class JeecgApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(JeecgApplication.class);
    }


    public static void main(String[] args) {
        System.setProperty(&quot;spring.devtools.restart.enabled&quot;, &quot;true&quot;);
        SpringApplication.run(JeecgApplication.class, args);
    }
}

4、注释掉WebSocket配置

将此类注释掉
jeecg-boot-module-system/org.jeecg.config.WebSocketConfig

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

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

首先执行下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、修改 public/index.html

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

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

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

3、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;
            }
        }
    }

五、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 &quot;MSIE [1-6]\.&quot;;

参考图:

参考链接: https://github.com/zhangdaiscott/jeecg-boot/issues/88


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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文