一、准备工作
sudo yum update -y确保系统软件包为最新版本。sudo yum install java-1.8.0-openjdk-devel -yjava -version验证安装是否成功(需显示Java版本信息)。二、下载并安装Tomcat
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz。/opt目录(系统级软件安装目录):sudo tar xvf apache-tomcat-9.0.56.tar.gz -C /opt。tomcat:sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat。三、配置Tomcat
tomcat组和用户,并设置目录所有权:sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
```。
/etc/profile.d/tomcat.sh文件(系统级环境变量),添加Tomcat路径:export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
使配置生效:source /etc/profile.d/tomcat.sh。/opt/tomcat/conf/server.xml文件,找到<Connector port="8080"字段,修改port值为其他可用端口(如8081)。四、启动Tomcat
/opt/tomcat/bin/startup.shsudo systemctl start tomcat。curl http://localhost:8080,若返回Tomcat默认页面内容,则表示启动成功。http://your_server_ip:8080,看到Tomcat欢迎页面即成功。五、部署应用(手动方式)
myapp.war),通常位于项目target目录下。webapps目录(Tomcat会自动解压部署):sudo cp /path/to/myapp.war /opt/tomcat/webapps/。webapps目录下会生成myapp文件夹)。http://your_server_ip:8080/myapp(myapp为WAR文件名,无需后缀),若看到应用页面则部署成功。六、设置开机自启动(可选但推荐)
/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-1.8.0-openjdk
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
```。
sudo systemctl daemon-reload
sudo systemctl enable tomcat # 设置开机自启动
sudo systemctl start tomcat # 立即启动服务
```。
七、常见问题排查
/opt/tomcat/logs/catalina.out日志文件,查看具体错误信息(如内存不足、端口冲突)。sudo systemctl status tomcat)。sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload)。webapps目录,且应用名称与访问路径一致。