debian

Debian中Tomcat如何配置

小樊
42
2025-05-15 09:07:17
栏目: 智能运维

在Debian系统中配置Tomcat涉及多个步骤,包括安装、基础配置、性能优化、安全加固等。以下是一个详细的配置指南:

安装Tomcat

  1. 更新系统
sudo apt update
sudo apt upgrade
  1. 安装Java开发工具包(JDK)
sudo apt install default-jdk
  1. 下载并安装Tomcat
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
  1. 配置环境变量: 编辑 /etc/profile.d/tomcat.sh 文件,添加以下内容:
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin

然后使环境变量生效:

source /etc/profile.d/tomcat.sh
  1. 创建systemd服务文件: 创建一个名为 tomcat.service 的文件,放置在 /etc/systemd/system/ 目录下:
sudo nano /etc/systemd/system/tomcat.service

将以下内容粘贴到文件中,并修改 JAVA_HOME 以匹配你的JDK安装路径:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

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

配置防火墙

如果你的系统启用了防火墙(如UFW),需要允许HTTP和HTTPS流量:

sudo ufw allow 'Tomcat Full'

访问Tomcat

打开浏览器,访问 http://your_server_ip:8080,你应该能看到Tomcat的默认页面。

配置文件

修改默认端口

编辑 /etc/tomcat9/server.xml 文件,修改HTTP和HTTPS的端口号:

<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8444" />

<Connector port="8444" protocol="org.apache.coyote.http11.Http11NioProtocol"
           SSLEnabled="true" />

配置虚拟主机

server.xml 中使用 Host 标签配置多个虚拟主机:

<Engine name="Catalina" defaultHost="www.example.com">
  <Host name="www.example1.com" appBase="webapps/example1"
        unpackWARs="true" autoDeploy="true" />
  <Host name="www.example2.com" appBase="webapps/example2"
        unpackWARs="true" autoDeploy="true" />
</Engine>

性能优化

调整连接器参数以优化性能:

<Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="200" minSpareThreads="10"
           acceptCount="100" compression="on"
           compressionMinSize="2048" />

安全加固

禁用管理端弱口令: 在 tomcat-users.xml 中配置强密码,禁用默认的管理员账户。

隐藏版本信息: 在 web.xml 中配置错误页面,隐藏Tomcat版本信息。

日志管理

配置 logging.properties 文件,启用按天分割日志文件:

handlers = 1catalina.org.apache.juli.AsyncFileHandler

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.rotatable = true
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8

内存配置

编辑 catalina.sh 文件,设置JVM内存参数:

JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx1024m"

0
看了该问题的人还看了