Apache Tomcat 作为一款开源的 Java Servlet 容器和 Web 服务器,广泛应用于各种 Java Web 应用的部署
而在 Linux 系统上运行 Tomcat,更是凭借其稳定性和性能优势,成为众多开发者和运维人员的首选
本文将深入探讨如何在 Linux 系统上启动 Tomcat,并通过一系列优化措施,确保其高效运行
一、Tomcat 简介与安装 1.1 Tomcat 是什么? Apache Tomcat 是一个开源的 Web 服务器和 Servlet 容器,由 Apache 软件基金会开发
它实现了 Java Servlet、JavaServer Pages(JSP)、Java Expression Language(EL)和 Java WebSocket 技术规范,为 Java Web 应用提供了一个轻量级、高效的运行环境
1.2 Linux 系统上安装 Tomcat 在 Linux 系统上安装 Tomcat 通常有两种方式:通过包管理器安装或从官方网站下载二进制包手动安装
通过包管理器安装(以 Ubuntu 为例): bash sudo apt update sudo apt install tomcat9 这种方式简单快捷,但可能不是最新版本
手动安装: 1. 访问 Apache Tomcat 官方网站下载最新版本的二进制包
2. 解压下载的文件到指定目录,例如`/opt/tomcat`
3. 设置必要的权限和环境变量
bash tar -xzf apache-tomcat-.tar.gz -C /opt/ sudo mv /opt/apache-tomcat- /opt/tomcat sudo chown -R $USER:$USER /opt/tomcat 二、启动 Tomcat 2.1 基本启动步骤 安装完成后,可以通过以下命令启动 Tomcat: 通过脚本启动: bash /opt/tomcat/bin/startup.sh 该脚本会启动 Tomcat 并将其置于后台运行
检查启动状态: 可以通过查看 Tomcat 的日志文件(如`catalina.out`)或使用 `ps` 命令来确认 Tomcat 是否成功启动
bash tail -f /opt/tomcat/logs/catalina.out ps -ef | grep tomcat 2.2 配置服务管理 为了方便管理,可以将 Tomcat 配置为系统服务
以 systemd 为例,可以创建一个服务单元文件: sudo nano /etc/systemd/system/tomcat.service 添加以下内容: 【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 Environment=CATALINA_OPTS= Environment=CATALINA_OUT=/opt/tomcat/logs/catalina.out ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=$USER Group=$USER UMask=0007 RestartSec=10 Restart=always 【Install】 WantedBy=multi-user.target 保存并退出后,启用并启动服务: sudo systemctl daemon-reload sudo systemctl enable tomcat sudo systemctl start tomcat 三、Tomcat 优化 3.1 内存优化 Tomcat 的性能很大程度上取决于 JVM 的配置
通过调整 JVM 的启动参数,可以显著提升 Tomcat 的性能
设置堆内存大小: 在`setenv.sh`(如果不存在,可以创建)或 `catalina.sh` 中添加 JVM 参数
bash export CATALINA_OPTS=$CATALINA_OPTS -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m 使用 G1 垃圾收集器: 对于大内存应用,G1 垃圾收集器通常表现更好
bash export CATALINA_OPTS=$CATALINA_OPTS -XX:+UseG1GC 3.2 连接器优化 Tomcat 的连接器负责处理 HTTP 请求
通过调整连接器的配置,可以提高并发处理能力和吞吐量
修改 server.xml:
在`conf/server.xml` 中,找到` 因此,合理管理日志级别和日志轮转是必要的
调整日志级别:
在`conf/logging.properties` 中调整日志级别
properties
org.apache.catalina.core.ContainerBase.【Catalina】.【localhost】.level = INFO
配置日志轮转:
使用`logrotate` 工具来管理 Tomcat 的日志文件
bash
sudo nano /etc/logrotate.d/tomcat
添加以下内容:
bash
/opt/tomcat/logs/.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/opt/tomcat/bin/shutdown.sh
sleep 1
/opt/tomcat/bin/startup.sh
endscript
}
3.4 安全配置
安全是任何服务器应用不可忽视的一环 Tomcat 提供了多种安全配置选项,包括用户认证、SSL/TLS 支持等
启用用户认证:
在`conf/tomcat-users.xml` 中添加用户和角色
xml