运维最全将tomcat添加为linux系统服务_tomcat 添加到服务 linux,2024年最新最新美团点评Linux运维团队面试题
#!/bin/bash
# 安装Tomcat作为Linux服务的脚本
# 确保在运行此脚本之前已经安装了Java
# 设置Tomcat的版本
TOMCAT_VERSION="9.0.62"
# 设置Tomcat的主目录
TOMCAT_HOME="/opt/tomcat"
# 创建一个目录来存放Tomcat
mkdir -p /opt/tomcat
# 下载Tomcat压缩包
wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
# 解压缩Tomcat压缩包
tar -xvzf apache-tomcat-${TOMCAT_VERSION}.tar.gz -C /opt/tomcat --strip-components=1
# 创建服务文件
cat <<EOF > /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 重新加载systemd,以识别新的服务文件
systemctl daemon-reload
# 启动Tomcat服务
systemctl start tomcat
# 设置Tomcat服务开机自启
systemctl enable tomcat
这个脚本简化了原来的部分步骤,并且修正了原脚本中的一些错误,例如解压缩命令的错误,服务文件中的错误环境变量设置等。同时,它使用了更加现代的下载方法,并且在创建服务文件时使用了Here文档来避免一些潜在的引用错误。最后,它使用了更加安全的权限设置,并且指定了JAVA\_HOME环境变量。
评论已关闭