首先确保系统软件包为最新版本,避免兼容性问题:
sudo apt update && sudo apt upgrade -y
Tomcat依赖Java环境,需安装JDK(推荐OpenJDK 11及以上):
sudo apt install openjdk-11-jdk -y
验证Java安装是否成功:
java -version
输出应显示Java版本信息(如openjdk version "11.0.xx")。
从Apache Tomcat官方网站下载最新稳定版(以Tomcat 9为例),解压至/opt目录(系统级软件推荐安装路径):
wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
sudo tar xvf apache-tomcat-9.0.56.tar.gz -C /opt
sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat # 重命名目录便于管理
为安全起见,禁止以root用户运行Tomcat,需创建专用用户和组:
sudo groupadd tomcat # 创建tomcat组
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat # 创建tomcat用户(无登录权限)
设置Tomcat目录权限,确保tomcat用户拥有读写权限:
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat/conf /opt/tomcat/logs /opt/tomcat/temp /opt/tomcat/webapps
编辑setenv.sh文件(若不存在则创建),设置JAVA_HOME和CATALINA_HOME环境变量(避免每次启动都手动指定):
sudo nano /opt/tomcat/bin/setenv.sh
添加以下内容(根据实际JDK路径调整JAVA_HOME):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export CATALINA_HOME=/opt/tomcat
export CATALINA_BASE=/opt/tomcat
保存后赋予执行权限:
sudo chmod +x /opt/tomcat/bin/setenv.sh
通过Systemd实现Tomcat的开机自启和进程管理:
sudo nano /etc/systemd/system/tomcat.service
添加以下配置(关键参数说明:User/tomcat以专用用户运行,Restart=always崩溃后自动重启):
[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"
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
保存后重新加载Systemd配置并启动Tomcat:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat # 设置开机自启
验证Tomcat运行状态:
sudo systemctl status tomcat
若显示“active (running)”,则表示启动成功。
若系统启用了ufw防火墙,需开放Tomcat默认端口(8080):
sudo ufw allow 8080/tcp
sudo ufw enable # 若未启用防火墙,可跳过此步
Tomcat支持多种部署方式,最常用的是手动复制WAR文件至webapps目录:
target/your-app.war文件(例如Maven命令:mvn clean package)。webapps目录(Tomcat会自动解压并部署):sudo cp /path/to/your-app.war /opt/tomcat/webapps/
your-app)。通过浏览器访问:http://<服务器IP>:8080/your-app
若看到应用首页,则部署成功。若需通过Web界面管理Tomcat(如部署、重启应用),需启用manager-gui角色:
tomcat-users.xml文件:sudo nano /opt/tomcat/conf/tomcat-users.xml
<tomcat-users>标签内添加管理用户(替换admin密码为强密码):<role rolename="manager-gui"/>
<user username="admin" password="admin123" roles="manager-gui"/>
sudo systemctl restart tomcat
http://<服务器IP>:8080/manager/html
使用配置的用户名和密码登录,即可通过界面上传WAR文件部署应用。systemctl status tomcat)、防火墙是否放行8080端口、WAR文件是否损坏(查看webapps目录是否解压成功)。/opt/tomcat/logs/catalina.out)。setenv.sh中的CATALINA_OPTS参数(如增加堆内存:-Xms1024M -Xmx2048M)。