2.2.2 Tomcat部署
gzip支持
由于wasm模块及附带的data数据较大,需要配合服务相应的gzip压缩配置,能有效加快传输速度。 在tomcat的server.xml配置gzip支持:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/wasm"/>
tomcat发布文件服务
在tomcat的web.xml中将listings设置为true:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
并在conf\Catalina\localhost中创建file.xml,docBase为数据路径:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/file" docBase="D://CooWasm" crossContext="true">
</Context>
部署并访问CooWasm
以Https协议发布CooWasm
环境准备,为了成功配置https,你需要具备以下环境:jdk tomcat。
进入jdk/bin目录,在此目录打开cmd

输入命令:
keytool -genkey -v -alias CooWasm -keyalg RSA -validity 3650 -keystore cooWasm.keystore
命令解释:
alias: 别名
keyalg: 证书算法,RSA
validity:证书有效时间,10年
keystore:证书生成的目标路径和文件名
回车,然后会让你输入一些信息,其中秘钥库口令和秘要口令最好输入同一个,并且记下这个口令。其他的可以随便填
bin目录下会生成keystore文件,将证书放到tomcat的conf目录下,并配置同目录的server.xml,增加以下内容:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/证书.keystore" keystorePass="生成证书时的口令"/>
以Http协议发布CooWasm(其他机器需要访问)
无需添加响应头,而是在访问机器上,设置Chrome浏览器的启动参数,主要是添加 --enable-features=SharedArrayBuffer:
方法一:通过命令行启动Chrome
找到Chrome的安装路径:
Windows
默认路径通常为:
C:\Program Files\Google\Chrome\Application\chrome.exe
或
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
macOS
路径通常为:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Linux
路径通常为
/usr/bin/google-chrome
或
/usr/bin/google-chrome-stable
打开命令行工具,运行以下命令:
Windows
按 Win + R,输入 cmd 并按回车。
"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-features=SharedArrayBuffer
macOS
打开 终端。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-features=SharedArrayBuffer
Linux
打开 终端。
google-chrome --enable-features=SharedArrayBuffer
方法二:通过Chrome快捷方式启动
找到Chrome的快捷方式
1.在Windows上,可以在桌面或开始菜单中找到Chrome的快捷方式。
2.右键点击快捷方式,选择“属性”:
3.在“快捷方式”选项卡中,找到“目标”字段。
4.在“目标”字段末尾添加启动参数:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-features=SharedArrayBuffer
5.点击“应用”,然后“确定”:
通过这个快捷方式启动Chrome,SharedArrayBuffer就会被启用。
方法三:修改Chrome配置文件
Windows
1.找到Chrome配置文件:
默认路径通常是 C:\Users\[Your Username]\AppData\Local\Google\Chrome\User Data\
2.编辑Local State文件:
打开Local State文件,用文本编辑器(如Notepad++或VSCode)编辑。
添加启动参数:
{
"browser": {
"enabled_labs_experiments": [
"SharedArrayBuffer"
]
}
}
保存文件并重新启动Chrome。
macOS
路径通常是 ~/Library/Application Support/Google/Chrome/
Linux
1.找到Chrome配置文件:
路径通常是 /usr/share/applications
2.编辑文件命名类似于chromium-browser.desktop的文件:
找到Exec=chromium-browser %U,在后面添加--enable-features=SharedArrayBuffer
保存文件,然后重新新建快捷方式到桌面。