312  
查询码:00000346
Unity部署WebGL项目到IIS服务器
作者: 李群超 于 2020年08月07日 发布在分类 / BIM组 / BIM视图 下,并于 2020年08月11日 编辑
WebGL部署IIS

1,部署流程

发布平台选择如下图:


发布后文件为

粘贴图片

最后就是部署在IIS上

找到【控制面板】-【程序】-【启用或关闭Windows功能】,开启电脑自带的IIS服务

粘贴图片

找到IIS管理器,双击【MIME类型】,右键选择【添加】,

粘贴图片

填入【文件扩展名】和【MIME类型】点击确定

粘贴图片


在部署到IIS后,直接访问时会出现如下情况,需要我们找到本地的IP地址,然后IP+端口访问,例如:http://192.168.199.68:8080/

粘贴图片

2,部署IIS注意事项:

在II7.0或者10.0上发布起来比较简单写好配置文件Web.config, 放在根目录即可,需要根据自己项目用到的文件类型配置fileExtension

另外,对于需要改变项目压缩方式的可能还需要改这个文件。

<configuration>
  <system.webServer>
      <staticContent>
      <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".data" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
    </staticContent>
  </system.webServer>
</configuration>

IIS6.0中配置文件无法使用,需要将上面配置文件.unityweb .mem  .data  .memgz  .datagz  .unity3dgz  .jsgz手动加入MIME中


3,优化加载速度



1,发现大部分时间都是在下载和解压.unityweb后缀的文件上,而且.unityweb这个文件永远没缓存过,所以在服务端加个缓存机制

参考链接: https://docs.unity3d.com/2018.3/Documentation/Manual/webgl-deploying.html

为了加快构建启动时间,可以选择使用以下配置文件。要使用此设置,你需要安装Microsoft的IIS URL Rewrite IIS module。对于gzip压缩的构建,将以下web.config文件放入Build子文件夹:

粘贴图片

最终我是用的web.config文件内容

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <defaultDocument>
      <files>
        <add value="index.php" />
      </files>
    </defaultDocument>
    <staticContent>
      <remove fileExtension=".unityweb" />
      <mimeMap fileExtension=".unityweb" mimeType="application/binary" />
      <mimeMap fileExtension=".prefab" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".mem" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".data" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".memgz" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".datagz" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".unity3dgz" mimeType="application/octet-stream" />
            <mimeMap fileExtension=".jsgz" mimeType="application/x-javascript; charset=UTF-8" />
    </staticContent>
    <rewrite>
      <outboundRules>
        <rule name="Append gzip Content-Encoding header">
          <match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" pattern="\.(unityweb|wasm)$" />
          </conditions>
          <action type="Rewrite" value="gzip" />
        </rule>
      </outboundRules>
    </rewrite>
  </system.webServer>
</configuration>






 推荐知识

 历史版本

修改日期 修改人 备注
2020-08-11 10:50:38[当前版本] 李群超 2020.08.11
2020-08-07 17:05:24 李群超 2020.0807
2020-08-07 16:28:46 李群超 2020.0807
2020-08-07 16:24:04 李群超 2020.0807

 附件

附件类型

PNGPNG

知识分享平台 -V 4.8.7 -wcp