在 WSL 上安装 tomcat 9

installing tomcat 9 on WSL

在WSL上安装tomcat9后,系统无法识别。

由于 systemctl 命令在 WSL 上不起作用,我使用了以下命令:

sudo service tomcat9 start

回归

tomcat9: unrecognized service

按照2种方式安装,还是出​​现同样的问题

参考文献是:

https://www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804

https://linuxconfig.org/ubuntu-20-04-tomcat-installation

这个问题有什么线索吗?

这是我的环境:

windows 10 版本 2004

ubuntu 20.04 (WSL)

openjdk 版本:“1.8.0_265”

更新:

我在安装了 ubuntu 20.04 的 gcp vm 实例上做了同样的过程来调查这个问题,发现这个过程在 ubuntu 20.04 上没有问题,而不是在 WSL 上。

所以我假设这个问题是由WSL引起的。

记录我所有的过程,希望有人能找到在 WSL-ubuntu.

上安装 tomcat 9 的解决方案

java安装

sudo apt update
sudo apt install openjdk-8-jdk

在/etc/environment

中设置JAVA_HOME
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin"

source /etc/environment

tomcat 9 安装

sudo apt install tomcat9 tomcat9-admin

检查8080端口是否开放(肯定)

ss -ltn

检查服务命令是否有效(肯定)

sudo service tomcat9 stop
sudo service tomcat9 start

看来 tomcat9 包坏了。

要在您的 WSL 上使用 tomcat9,您可以:

  • 下载tomcat9并自行安装
  • 尝试修复损坏的安装

以下是我在计算机上修复安装所做的工作:

  • https://tomcat.apache.org/download-90.cgi
  • 下载 tomcat 9 的 zip 版本
  • 在 windows 资源管理器中打开文件夹 \wsl$\Ubuntu\usr\share\tomcat9
  • 为了修复 tomcat 我将所有丢失的文件夹从 zip 复制到 wsl 安装:conf、webapps 和 work
  • 我还必须为日志创建文件夹 /usr/share/tomcat9/logs(您可以从 linux shell 或从 \wsl$\ 中的 windows 资源管理器创建它Ubuntu)
  • 然后我可以从 sudo /usr/share/tomcat9/bin/startup.sh 开始 tomcat 并在 /usr/share/tomcat9/logs/catalina.out
  • 中获取日志

我通过以下步骤解决了问题:

  1. 启用 systemd,参见 WSL 2 - Enabling systemd
  2. 重新启动 WSL Ubuntu,使用 cmd wsl --shutdownwsl -d Ubuntu genie -s
  3. 重新安装tomcat9,shellapt-get remove tomcat9apt-get install tomcat9

然后输入 service tomcat9 status,看看它在你的机器上是如何工作的。