帮助中心 > 关于网络安全 > Linux服务器上Tomcat安装全流程详解
Linux服务器上Tomcat安装全流程详解
时间 : 2025-04-28 14:03:21
编辑 : Jtti

Java Web应用开发和部署中,Apache Tomcat是轻量级的Servlet容器和Web服务器,具有开源、高效和易用性是企业级应用首选。可以用于部署简单Java Web项目或构建高并发分布式系统,Tomcat安装和优化都很关键。Linux服务器安装Tomcat步骤有环境准备、安全配置、性能调优等具体如下!

一、安装前的环境准备 

操作系统推荐使用Linux发行版(如CentOS 7/8Ubuntu 20.04 LTS),确保系统已更新至最新补丁:   

CentOS 
sudo yum update y 
Ubuntu 
sudo apt update && sudo apt upgrade y 

确认服务器内存≥2GB(建议4GB以上),硬盘空间≥10GBTomcat依赖Java运行环境,需先安装JDK 8或更高版本(推荐JDK 11): 

CentOS安装OpenJDK 11 
sudo yum install java11openjdkdevel y 
Ubuntu安装OpenJDK 11 
sudo apt install openjdk11jdk y 

验证安装: 

java version 

输出应类似:openjdk 11.0.20 20230718 LTS 

二、Tomcat的下载与安装 

访Apache Tomcat官网选择稳定版本(如Tomcat 10.1.x),复制二进制压缩包链接。下载Tomcat(以10.1.18为例) 

wget downloads.apache.org/tomcat/tomcat10/v10.1.18/bin/apachetomcat10.1.18.tar.gz 

解压至/opt目录 

sudo tar xzvf apachetomcat10.1.18.tar.gz C /opt 

创建软链接便于版本管理 

sudo ln s /opt/apachetomcat10.1.18 /opt/tomcat 

为安全起见,创建专用用户tomcat并授权: 

sudo useradd r m d /opt/tomcat s /bin/false tomcat 
sudo chown R tomcat:tomcat /opt/tomcat 
sudo chmod R 755 /opt/tomcat 

三、配置Tomcat系统服务 

新建服务文件/etc/systemd/system/tomcat.service,内容如下: 

ini  
[Unit]  
Description=Apache Tomcat  
After=network.target  
[Service]  
Type=forking  
User=tomcat  
Group=tomcat  
Environment="JAVA_HOME=/usr/lib/jvm/java11openjdkamd64"  
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  
Restart=onfailure  
[Install]  
WantedBy=multiuser.target 

根据实际JDK路径修改JAVA_HOME(可通过readlink f $(which java)查找)。 启动服务并设置开机自启 

sudo systemctl daemonreload 
sudo systemctl start tomcat 
sudo systemctl enable tomcat 

检查状态 

sudo systemctl status tomcat 

四、防火墙与安全配置 

默认HTTP端口为8080,若需外部访问需放行: 

CentOS(firewalld) 
sudo firewallcmd permanent addport=8080/tcp 
sudo firewallcmd reload 
Ubuntu(ufw) 
sudo ufw allow 8080/tcp 

删除默认管理用户配置以增强安全: 

sudo rm /opt/tomcat/webapps/hostmanager/METAINF/context.xml 
sudo rm /opt/tomcat/webapps/manager/METAINF/context.xml 

使用Let’s Encrypt免费证书或商业证书。生成密钥库(需提前安装keytool 

keytool genkey alias tomcat keyalg RSA keystore /opt/tomcat/conf/keystore.jks 

修改server.xml启用HTTPS 

sudo vi /opt/tomcat/conf/server.xml 

<Service name="Catalina">下添加: 

xml  
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"  
maxThreads="150" SSLEnabled="true">  
<SSLHostConfig>  
<Certificate certificateKeystoreFile="/opt/tomcat/conf/keystore.jks"  
certificateKeystorePassword="your_password"  
type="RSA" />  
</SSLHostConfig>  
</Connector> 
 

五、性能调优与监控 

修改/opt/tomcat/bin/setenv.sh(若无则新建): 

export CATALINA_OPTS="Xms512m Xmx1024m XX:MaxMetaspaceSize=256m" 

Xms:初始堆内存 

Xmx:最大堆内存 

XX:MaxMetaspaceSize:元空间上限 

修改server.xml中的<Connector>节点: 

xml 
<Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443" 
maxThreads="200" 
minSpareThreads="10" 
acceptCount="100" 
enableLookups="false" 
compression="on" /> 

server.xml中配置日志格式: 

xml 
<Valve className="org.apache.catalina.valves.AccessLogValve" 
directory="logs" 
prefix="localhost_access_log" 
suffix=".txt" 
pattern="%h %l %u %t "%r" %s %b %D" /> 

使用工具(如GoAccess)分析日志: 

goaccess /opt/tomcat/logs/localhost_access_log..txt logformat=COMBINED 

六、常见问题与解决方案 

1. Tomcat启动失败 

java.net.BindException: Address already in use 

检查端口占用sudo netstat tulnp | grep 8080,终止冲突进程或修改端口。 

2. 内存溢出(OOM 

java.lang.OutOfMemoryError: Java heap space 

增加Xmx参数值,或分析内存泄漏(使用jmapVisualVM)。 

3. 访问速度慢 

优化方向:启用GZIP压缩、调整线程池大小、升级硬件或使用CDN加速静态资源。 

完成以上步骤后,您就成功在Linux服务器上部署了Tomcat,并完成了基础安全加固与性能优化。对于生产环境,建议定期更新Tomcat版本、监控系统资源使用情况,并结合Nginx反向代理进一步提升并发能力。掌握好Tomcat的管理和安装,是Java应用部署的起点,也是构建高可用Web服务的关键。不管是个人用户还是企业 用户,大家都应该掌握好这个流程操作方法,有利于使用部署。

相关内容

十大知名香港机房排名(排名顺序不分先后) HTTP 429错误分析及解决方法 IP专线在网络安全方面有何优势?全面解析 CA证书删除全指南:安全移除根证书与中间证书的步骤详解  家庭或企业用户怎么选网络存储器?好用的网络存储器推荐 如何理解海外专线网络,它有什么作用 美国远程桌面访问不了怎么解决 一文说清实现CDN内容分发网络的技术逻辑 虚拟机中搭建Windows10 Web服务器的完整步骤 Ubuntu桌面环境与Ubuntu服务器版有什么区别
返回

24/7/365 全天候支持我们时刻恭候您

帮助中心