一、前置准备:安装Java环境
Tomcat是基于Java的Servlet容器,需先确保Linux系统安装JDK/JRE。通过java -version命令检查,若未安装,可用包管理器安装(如Ubuntu用sudo apt update && sudo apt install openjdk-11-jdk,CentOS用sudo yum install java-11-openjdk-devel)。安装后验证版本信息,确认Java环境就绪。
二、下载并解压Tomcat
wget命令(如wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz)。/opt或/usr/local),如sudo tar -xvzf apache-tomcat-9.0.56.tar.gz -C /opt。sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat。三、配置环境变量(可选但推荐)
为方便使用Tomcat命令,可将bin目录添加到系统PATH。编辑~/.bashrc(当前用户)或/etc/profile(全局)文件,添加以下内容:
export CATALINA_HOME=/opt/tomcat # Tomcat安装目录
export PATH=$PATH:$CATALINA_HOME/bin
保存后运行source ~/.bashrc(或source /etc/profile)使配置生效。
四、启动与停止Tomcat
bin目录,执行./startup.sh(或直接运行$CATALINA_HOME/bin/startup.sh)。默认监听8080端口,可通过http://服务器IP:8080访问欢迎页面。./shutdown.sh(或$CATALINA_HOME/bin/shutdown.sh)。ps -ef | grep tomcat查看进程,或用curl http://localhost:8080测试本地访问。五、配置防火墙(允许远程访问)
若需从外部访问Tomcat,需开放8080端口(或其他自定义端口):
sudo ufw allow 8080/tcp,然后sudo ufw reload。sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent(永久生效),sudo firewall-cmd --reload(刷新规则)。sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT,sudo service iptables save(保存规则)。六、部署Web应用
将Web应用的WAR文件(如myapp.war)复制到Tomcat的webapps目录(如/opt/tomcat/webapps),Tomcat会自动解压并部署。部署后可通过http://服务器IP:8080/myapp访问应用(myapp为WAR文件名去掉.war后缀)。
七、可选优化:创建Systemd服务(便于管理)
为将Tomcat设为系统服务(支持systemctl命令),创建服务文件/etc/systemd/system/tomcat.service,内容如下:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/default-java" # Java路径(根据实际调整)
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 # 建议创建专用用户(如tomcat),提升安全性
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
保存后执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat # 开机自启
通过sudo systemctl status tomcat查看服务状态。
八、常见问题排查
conf/server.xml中的<Connector port="8080">为其他端口(如8081),重启Tomcat。sudo chown -R tomcat:tomcat /opt/tomcat),避免因权限不足导致无法启动。catalina.sh中的JAVA_OPTS参数(如-Xms512m -Xmx1024m),增加JVM堆内存大小。