# 服务端部署离线包

离线数据包是一组静态资源文件,并不需要特定的云端程序提供运行时环境,因此可以像部署网页的css、js、image一样部署在静态Web服务器上。 注意:在部署前,必须把压缩文件解压。

# 支持的Web服务器

包括但不限于以下几种:

  • Nginx
  • Apache
  • Tomcat
  • NodeJS

# 实现步骤

以Nginx为例,三个步骤完成部署:

    1. 把解压后的文件夹拷贝到Nginx默认站点目录html下(如:D:\nginx-1.5.0\html);
    1. 在nginx.conf文件中,针对离线数据包访问路径设置Http响应头(下文详述);
    1. 在浏览器中输入“http://ip:port/{离线数据包文件夹名称}”即可(如:http://localhost/a686c361e0bb07d66685d83fd18a881d)。

# HTTP响应头设置

为了加速访问,离线数据包中的很多文件都进行了gzip压缩。在离线数据包部署到Web服务器之后,必须对.gz文件设置http响应头,否则将产生错误。

    1. 由于需要针对BIMFACE离线数据包中的.gz文件设置响应头,建议开发人员最好把BIMFACE的离线数据包放置在统一的路径下,然后再针对这个统一的路径,设置匹配后缀为.gz的路径。
    1. 针对以上路径设置:Content-Encoding: gzip

另一点需要注意的是,在3.6.243及之后版本的离线JSSDK中,BIMFACE引擎额外开启了新版优化方案,对应需在nginx中设置wasm文件的允许跨域。

    1. 针对统一路径,设置匹配后缀为.wasm的路径。
    1. 针对以上路径设置:Access-Control-Allow-Origin

由于不同的Web服务设置Http响应头的方式不一,下面介绍Nginx服务器的设置方式(以下示例假定JSSDK与离线数据包部署在同一web服务器):

# Nginx

在nginx.conf文件中相应的Server节点添加

location ~* .*\.wasm$ {
    add_header  Content-Type "application/wasm";
    add_header Access-Control-Allow-Origin *;
    add_header access-control-allow-methods GET;
}
location ~* .*\.gz$ {
    add_header Content-Encoding gzip;
    add_header Access-Control-Allow-Origin *;
    add_header access-control-allow-methods GET;
}

例如:

server {
    listen 80;
    server_name localhost;

    location ~* .*\.wasm$ {
        add_header  Content-Type "application/wasm";
        add_header Access-Control-Allow-Origin *;
        add_header access-control-allow-methods GET;
    }

    location ~* .*\.gz$ {
        add_header Content-Encoding gzip;
        add_header Access-Control-Allow-Origin *;
        add_header access-control-allow-methods GET;
    }
}

其他服务器的部署方式见离线数据包 (opens new window)