1、通过Nginx实现动静分离部署

基本原理:将乐创者静态资源部署到nginx服务下,后台应用部署到tomcat等应用服务器上。当浏览器访问时乐创者相关产品页面时,通过nginx进行代理,nginx服务根据配置规则将静态资源的请求直接返回而不再依赖tomcat等应用服务器,从而达到动静分离的目标。

动静分离部署带来什么好处?
1) Nginx本身就是一个高性能的静态web服务器;
2) 静态文件有一个特点就是基本上变化不大,所以动静分离以后我们可以对静态文件进行缓存、或者压缩提高系统性能。

1.1、配置说明

将乐创者静态资源文件夹及相关文件直接放在nginx安装目录/static{/lczServer}目录下。

# 报表/单元格表单/场景报表/透视分析/智能报告/跨设备表单/数智大屏/微应用等前端静态资源
location ~ ^{/lczServer}/(lczCommon|lczReport|lczCreater|lczCreater2|lczCloudForm|lczPortal2|lczMatrix|lczThird|lczWorkflow|lczWorkflow2|lczMicroApp)/ {
   root static/;
}

# 乐创者门户(v6.8.9版本新增)
location {/lczServer}/lczPortal {
  alias nginx安装目录/static{/lczServer}/lczPortal;
  try_files $uri $uri/ {/lczServer}/lczPortal/index.html;
  index index.html index.htm;
}

注意:
1)、{/lczServer} 在上面代表可选,例如lczServer.war包部署时是放在ROOT目录下,则可以省略;如果是改成其他名称的,修改为对应的名称即可。
2)、按需将lczServer.war根目录下的lczReport、lczCreater、lczCreater2、lczCloudForm、lczPortal、lczPortal2、lczCommon、lczMatrix、lczThird、lczWorkflow、lczMicroApp等目录拷贝到nginx服务器对应目录下。

版本变更说明:
1、v6.8.0开始,新增lczCommon、lczMatrix;
2、v6.8.1开始,新增lczPortal、lczMicroApp;
3、v6.8.3开始,新增lczWorkflow;
4、v6.8.6版本开始,lczCreater变更为lczCreater、lczCreater2这2个目录;
5、v6.8.9版本开始,lczPortal变更为lczPortal、lczPortal2这2个目录;
6、v6.9.0版本开始,lczPortal变更为lczWorkflow、lczWorkflow2这2个目录;

1.2、简单示例

示例1 、乐创者发布为lczServer目录

发布后,应用根目录路径为 lczServer,静态资源文件存放到nginx安装根目录/static/lczServer目录下。

# 报表/单元格表单/场景报表/透视分析/智能报告/跨设备表单/数智大屏/门户/微应用等前端静态资源
location ~ ^/lczServer/(lczCommon|lczReport|lczCreater|lczCreater2|lczCloudForm|lczPortal2|lczMatrix|lczThird|lczWorkflow|lczWorkflow2|lczMicroApp)/ {
   root static/;
}

#乐创者门户
location /lczServer/lczPortal {
  alias nginx安装目录/static/lczServer/lczPortal;
  try_files $uri $uri/ /lczServer/lczPortal/index.html;
  index index.html index.htm;
}

同理,如果应用根目录路径为 report,则静态资源文件存放到nginx安装根目录/static/report目录下。

示例2、乐创者发布为ROOT目录

发布后,应用跟目录路径为 ROOT,静态资源文件存放到nginx安装根目录/static目录下。

# 报表/单元格表单/场景报表/透视分析/智能报告/跨设备表单/数智大屏/门户/微应用等前端静态资源
location ~ ^/(lczCommon|lczReport|lczCreater|lczCreater2|lczCloudForm|lczPortal2|lczMatrix|lczThird|lczWorkflow|lczWorkflow2|lczMicroApp|lczDataStudio)/ {
   root static/;
}

# 乐创者门户
location /lczPortal {
  alias nginx安装目录/static/lczPortal;
  try_files $uri $uri/ /lczPortal/index.html;
  index index.html index.htm;
}

示例3、多个版本共用同一个Nginx

如同时部署了v6.8.5和v6.9.0个服务,改如何配置?
静态文件存放:
v6.8.5的放在 nginx安装根目录/static/v685/lczServer目录下;
v6.9.0的放在 nginx安装根目录/static/v690/lczServer目录下;
在对应的server下配置:

http
{
    server { #v6.8.5的服务
        # 报表/单元格表单/场景报表/透视分析/智能报告/跨设备表单/数智大屏/门户/微应用等前端静态资源
        location ~ ^/lczServer/(lczCommon|lczReport|lczCreater|lczCloudForm|lczPortal|lczMatrix|lczThird|lczWorkflow|lczMicroApp)/ {
                root static/v685/;
        }
        ...
    }

    server { #v6.9.0的服务
        # 报表/单元格表单/场景报表/透视分析/智能报告/跨设备表单/数智大屏/门户/微应用等前端静态资源
        location ~ ^/lczServer/(lczCommon|lczReport|lczCreater|lczCreater2|lczCloudForm|lczPortal2|lczMatrix|lczThird|lczWorkflow|lczWorkflow2|lczMicroApp)/ {
                root static/v690/;
        }

        # 乐创者门户
        location /lczPortal {
          alias /usr/local/nginx/static/lczPortal;
          try_files $uri $uri/ /lczPortal/index.html;
          index index.html index.htm;
        }
        ...
    }
}

2 其他方式

暂无

作者:柳杨  创建时间:2023-06-08 15:59
最后编辑:柳杨  更新时间:2025-04-22 15:31