在配置Tomcat前,需完成以下基础准备:
java -version命令验证安装,若未安装,可使用包管理器(如apt或yum)安装OpenJDK:sudo apt install openjdk-11-jdk(Ubuntu/Debian)或sudo yum install java-11-openjdk-devel(CentOS/RHEL)。/opt,需root权限):sudo tar -zxvf apache-tomcat-10.1.20.tar.gz -C /opttomcat:sudo mv /opt/apache-tomcat-10.1.20 /opt/tomcatsudo chmod +x /opt/tomcat/bin/*.sh为了让系统识别Tomcat命令(如startup.sh、shutdown.sh),需配置环境变量:
~/.bashrc(或系统级的/etc/profile)文件:nano ~/.bashrcexport CATALINA_HOME=/opt/tomcat # Tomcat安装目录
export PATH=$PATH:$CATALINA_HOME/bin # 将Tomcat bin目录加入PATH
source ~/.bashrc使变量立即生效。可通过echo $CATALINA_HOME验证是否配置成功。为提升安全性,禁止以root用户运行Tomcat,需创建专用用户和组:
sudo groupadd tomcatsudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat(-s /bin/false禁止登录,-d指定家目录)tomcat用户和组,并设置合理权限:sudo chown -R tomcat:tomcat /opt/tomcat # 所有权转移
sudo chmod -R 755 /opt/tomcat # 目录权限(所有者可读写执行,组和其他用户可读执行)
sudo chmod -R g+r /opt/tomcat/conf # 配置文件需组可读
sudo chmod -R g+w /opt/tomcat/logs /opt/tomcat/temp /opt/tomcat/webapps /opt/tomcat/work # 日志、临时目录等需组可写
server.xml是Tomcat的核心配置文件,位于/opt/tomcat/conf/目录,主要修改以下内容:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" /> <!-- 解决中文乱码 -->
<Service>标签内添加SSL Connector(需提前准备keystore文件):<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="/path/to/keystore.jks"
type="RSA"
certificateKeystorePassword="your_keystore_password"
certificateKeyAlias="your_key_alias" />
</SSLHostConfig>
</Connector>
<Host>标签内添加AccessLogValve,记录访问信息:<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" /> <!-- 常用格式 -->
修改catalina.sh(位于/opt/tomcat/bin/),设置JVM内存大小(根据服务器配置调整):
在文件开头添加:
export JAVA_OPTS="-Xms512M -Xmx1024M -XX:+UseG1GC" # 初始内存512M,最大内存1024M,使用G1垃圾回收器
编辑tomcat-users.xml(位于/opt/tomcat/conf/),添加用户及角色(用于管理界面访问):
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/> <!-- 管理界面访问权限 -->
<role rolename="admin-gui"/> <!-- 管理操作权限 -->
<user username="admin" password="strong_password" roles="manager-gui,admin-gui"/> <!-- 用户及角色绑定 -->
</tomcat-users>
修改后需重启Tomcat使配置生效。
tomcat用户,执行启动脚本:sudo -u tomcat /opt/tomcat/bin/startup.shsudo -u tomcat /opt/tomcat/bin/shutdown.shhttp://服务器IP:8080,若看到Tomcat欢迎页面,说明启动成功。为了让Tomcat随系统启动自动运行,需创建systemd服务:
sudo nano /etc/systemd/system/tomcat.service[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" # JDK路径
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
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reloadsudo systemctl enable tomcatsudo systemctl start tomcatsudo systemctl status tomcat(若显示“active (running)”,则启动成功)。webapps/manager和webapps/host-manager目录。ufw或iptables)限制Tomcat端口的访问,仅允许可信IP访问:sudo ufw allow from 192.168.1.100 to any port 8080 # 仅允许192.168.1.100访问8080端口
sudo ufw enable # 启用防火墙
以上步骤覆盖了Linux下Tomcat的核心配置,可根据实际需求调整端口、内存、用户权限等参数。配置完成后,即可通过Tomcat部署Java Web应用。