Java Web应用开发和部署中,Apache Tomcat是轻量级的Servlet容器和Web服务器,具有开源、高效和易用性是企业级应用首选。可以用于部署简单Java Web项目或构建高并发分布式系统,Tomcat安装和优化都很关键。Linux服务器安装Tomcat步骤有环境准备、安全配置、性能调优等具体如下!
一、安装前的环境准备
操作系统推荐使用Linux发行版(如CentOS 7/8、Ubuntu 20.04 LTS),确保系统已更新至最新补丁:
CentOS
sudo yum update y
Ubuntu
sudo apt update && sudo apt upgrade y
确认服务器内存≥2GB(建议4GB以上),硬盘空间≥10GB。Tomcat依赖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参数值,或分析内存泄漏(使用jmap、VisualVM)。
3. 访问速度慢
优化方向:启用GZIP压缩、调整线程池大小、升级硬件或使用CDN加速静态资源。
完成以上步骤后,您就成功在Linux服务器上部署了Tomcat,并完成了基础安全加固与性能优化。对于生产环境,建议定期更新Tomcat版本、监控系统资源使用情况,并结合Nginx反向代理进一步提升并发能力。掌握好Tomcat的管理和安装,是Java应用部署的起点,也是构建高可用Web服务的关键。不管是个人用户还是企业 用户,大家都应该掌握好这个流程操作方法,有利于使用部署。