Unity WebGL 애플리케이션 배포 가이드
Unity WebGL 애플리케이션을 배포할 때는 웹 서버의 설정이 필요합니다. 아래는 Nginx, Apache, IIS를 사용하여 WebGL 애플리케이션을 설정하는 방법에 대한 설명입니다.
Nginx 설정
Nginx 서버에서 WebGL 애플리케이션을 배포하기 위한 설정 예시는 다음과 같습니다.
http {
server {
# 다음과 같이 http 서버 구성 내에 설정 추가
# ...일부 생략...
||
||
gzip off;
add_header Content-Encoding br;
default_type application/octet-stream;
}
location ~ .+\.js\.br$ {
gzip off;
add_header Content-Encoding br;
default_type application/javascript;
}
location ~ .+\.wasm\.br$ {
gzip off;
add_header Content-Encoding br;
default_type application/wasm;
}
||
||
gzip off;
add_header Content-Encoding gzip;
default_type application/gzip;
}
location ~ .+\.js\.gz$ {
gzip off;
add_header Content-Encoding gzip;
default_type application/javascript;
}
location ~ .+\.wasm\.gz$ {
gzip off;
add_header Content-Encoding gzip;
default_type application/wasm;
}
}
}
Apache 설정
Apache 서버에서 WebGL 빌드를 설정하려면 두 가지 방법이 있습니다: httpd.conf
의 가상 호스트 방식과 .htaccess
방식입니다.
1. httpd.conf 가상 호스트 설정
<Directory /var/www/html/root/path/to/your/unity/content/>
<IfModule mod_mime.c>
RemoveType .gz
AddEncoding gzip .gz
AddType application/gzip .data.gz
AddType application/wasm .wasm.gz
AddType application/javascript .js.gz
AddType application/octet-stream .symbols.json.gz
RemoveType .br
AddEncoding br .br
AddType application/octet-stream .data.br
AddType application/wasm .wasm.br
AddType application/javascript .js.br
AddType application/octet-stream .symbols.json.br
</IfModule>
</Directory>
2. .htaccess 설정
<IfModule mod_mime.c>
RemoveType .gz
AddEncoding gzip .gz
AddType application/gzip .data.gz
AddType application/wasm .wasm.gz
AddType application/javascript .js.gz
AddType application/octet-stream .symbols.json.gz
RemoveType .br
RemoveLanguage .br
AddEncoding br .br
AddType application/octet-stream .data.br
AddType application/wasm .wasm.br
AddType application/javascript .js.br
AddType application/octet-stream .symbols.json.br
</IfModule>
IIS 설정
1. 압축 없는 WebGL 빌드 설정
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".data" />
<mimeMap fileExtension=".data" mimeType="application/octet-stream" />
<remove fileExtension=".wasm" />
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
<remove fileExtension=".symbols.json" />
<mimeMap fileExtension=".symbols.json" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>
2. 압축된 WebGL 빌드 설정
<configuration>
<system.webServer>
<urlCompression doStaticCompression="false" />
<staticContent>
<remove fileExtension=".data.gz" />
<mimeMap fileExtension=".data.gz" mimeType="application/gzip" />
<remove fileExtension=".wasm.gz" />
<mimeMap fileExtension=".wasm.gz" mimeType="application/wasm" />
<remove fileExtension=".js.gz" />
<mimeMap fileExtension=".js.gz" mimeType="application/javascript" />
<remove fileExtension=".symbols.json.gz" />
<mimeMap fileExtension=".symbols.json.gz" mimeType="application/octet-stream" />
</staticContent>
<rewrite>
<outboundRules>
<rule name="Append gzip Content-Encoding header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="\.gz$" />
</conditions>
<action type="Rewrite" value="gzip" />
</rule>
<rule name="Append brotli Content-Encoding header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="\.br$" />
</conditions>
<action type="Rewrite" value="br" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
결론
이 가이드는 Unity WebGL 애플리케이션을 Nginx, Apache, IIS에서 호스팅하는 방법에 대한 기본 정보를 제공합니다. 적절한 서버 설정을 통해 최적의 성능과 안정성을 확보할 수 있습니다.