我已经安装了tomcat8。我删除了它,然后我尝试再次安装 tomcat8,但遇到这个问题,我无法再次安装 tomcat。 我在安装之前遵循的步骤列表 -
sudo apt-get remove tomcat8
sudo apt-get remove --auto-remove tomcat8
sudo apt-get purge tomcat8
sudo apt-get purge --auto-remove tomcat8
现在我已经从这里安装了新的 tomcat8 - https://websiteforstudents.com/setup-apache-tomcat-8-8-5-on-ubuntu-16-04-18-04-lts/
并出现错误 - 上面附有图像
首先,如果您使用 Debian 或 Ubuntu,使用
tomcat8/tomcat9
软件包(参见 packages.ubuntu.com)是运行 Tomcat 服务器的最简单方法。
在您的情况下,
tomcat.service
文件缺少 PIDFile
选项,这有助于以可靠的方式确定 Tomcat 正在运行。因此,我会修改您的 tomcat.service
脚本以包含:
[Service]
# ...
# The rest of the options
PIDFile="/run/tomcat.pid"
Environment="CATALINA_PID=/run/tomcat.pid"
在启动服务之前,请确保您的 Tomcat 未运行(
killall java
或更微妙的东西)并记住重新加载 SystemD 守护进程:
systemctl daemon-reload
编辑:修改后,
tomcat.service
文件应如下所示:
[Unit]
Description=Tomcat servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/run/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
PIDFile="/run/tomcat.pid"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
在我使用 RHEL 8 系统的情况下,我执行了以下步骤来解决问题,然后能够使用 systemctl 启动 tomcat 服务。
第 1 步:验证审核搜索中任何与 SELinux 上下文相关的错误。
# ausearch -m avc -ts recent
报告错误,由于 SELinux 上下文而无法使用 systemctl 启动服务。
第2步: 更改tomcat相关文件和目录的SELinux SELinux上下文
# ls -lZ /etc/systemd/system/tomcat.service
# chcon system_u:object_r:systemd_unit_file_t:s0 /etc/systemd/system/tomcat.service
# chcon -Rv system_u:object_r:etc_runtime_t:s0 /opt/CAE/
# semanage fcontext -a -t etc_runtime_t /opt/tomcat/bin/catalina.sh
# semanage fcontext -a -t etc_runtime_t /opt/CAE/
第3步:使用以下信息定义systemctl文件