Unity3d发布webgl后gz文件无法解析在nginx上的解决

环境


系统版本:Ubuntu 18.04.1 LTS
nginx版本:1.24.0

一、下载nginx安装包


nginx官网:http://nginx.org/en/download.html
选择稳定的nginx版本下载。

Screenshot from 2023-08-08 17-35-21.png

二、安装nginx

将下载的nginx安装包上传至ubuntu系统。
解压nginx-1.22.0.tar.gz包:sudo tar -zxvf ./nginx-1.22.0.tar.gz -C /opt/
安装nginx所需的依赖
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl libssl-dev
sudo apt-get install gcc
编译nginx
在nginx根目录执行:./configure
编译:sudo make -j32
安装:sudo make install
测试nginx是否安装成功:/usr/local/nginx/sbin/nginx -v

三、 配置nginx

更改nginx端口号:
编辑nginx.conf文件:sudo vim conf/nginx.conf
将listen的值即为nginx的端口号。
Screenshot from 2023-08-08 17-36-31.png

四、常用nginx命令

启动nginx的命令为:/usr/local/nginx/sbin/nginx
停止nginx的命令为 :/usr/local/nginx/sbin/nginx -s stop
重启nginx的命令为:/usr/local/nginx/sbin/nginx -s reload

报错
发现报==nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)==错误,进到logs文件发现的确没有nginx.pid文件
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

五、unity3d打包webgl版本时不选Decompression Fallback 选项,打出来的包如下图:

image.png

放到服务器后会报错gz文件无法解析,官方只给出了iis和Apache上的配置方案,但我整了半天也没搞出来,后来换成nginx服务器后,在国外发现一篇帖子解决问题,需要在nginx.conf中加入如下配置:

        location ~* \.gz$ {
          add_header Content-Encoding gzip;
 
          location ~* \.data\.gz$ {
              types { }
              default_type application/octet-stream;
          }
          location ~* \.wasm\.gz$ {
              types { }
              default_type application/wasm;
          }
          location ~* \.js\.gz$ {
              types { }
              default_type application/javascript;
          }
          location ~* \.symbols\.json\.gz$ {
              types { }
              default_type application/octet-stream;
          }
        }

重启服务器,解决问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容