centos

tomcat在centos上怎么配置

小樊
62
2025-09-17 19:56:42
栏目: 智能运维

一、安装Java环境(Tomcat依赖)

Tomcat需要Java运行环境(JRE/JDK),推荐使用CentOS默认仓库的OpenJDK:

# 检查是否已安装Java
java -version
# 若未安装,执行以下命令安装OpenJDK 1.8(Tomcat 9兼容版本)
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 验证安装
java -version  # 应输出Java版本信息

二、下载并解压Tomcat

  1. 下载Tomcat:访问Apache Tomcat官网(如)下载稳定版本(如9.0.56),使用wget命令下载:
    wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
    
  2. 解压并移动:将压缩包解压到/opt目录(系统软件常用路径),并重命名为tomcat(简化后续操作):
    sudo tar -zxvf apache-tomcat-9.0.56.tar.gz -C /opt
    sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat
    

三、配置环境变量(可选但推荐)

为方便全局使用Tomcat命令(如startup.shshutdown.sh),配置CATALINA_HOME环境变量:

# 编辑系统级profile文件
sudo vim /etc/profile.d/tomcat.sh
# 添加以下内容(根据实际路径调整)
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
# 保存后使配置生效
source /etc/profile.d/tomcat.sh

四、设置Tomcat开机自启动(systemd服务)

  1. 创建Tomcat专用用户:出于安全考虑,Tomcat应以非root用户运行:
    sudo groupadd tomcat  # 创建tomcat用户组
    sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat  # 创建用户并指定家目录
    
  2. 修改目录权限:将Tomcat目录所有权赋予tomcat用户,确保其有操作权限:
    sudo chown -R tomcat:tomcat /opt/tomcat
    sudo chmod +x /opt/tomcat/bin/*.sh  # 赋予启动脚本可执行权限
    
  3. 创建systemd服务文件:定义Tomcat服务的行为(如启动/停止命令、用户权限):
    sudo vim /etc/systemd/system/tomcat.service
    
    添加以下内容(关键参数说明:CATALINA_OPTS设置JVM内存,JAVA_OPTS优化无头模式):
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk  # Java路径(通过`java -XshowSettings:properties -version`确认)
    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'  # JVM内存分配
    Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'  # 无GUI模式优化
    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
    
  4. 启用并启动服务
    sudo systemctl daemon-reload  # 重新加载systemd配置
    sudo systemctl enable tomcat  # 设置开机自启动
    sudo systemctl start tomcat   # 启动Tomcat服务
    # 检查状态(应显示active(running))
    sudo systemctl status tomcat
    

五、配置防火墙(允许外部访问)

若系统启用了firewalld,需开放Tomcat默认的8080端口(HTTP):

# 开放8080端口(永久生效)
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload
# 验证端口是否开放
sudo firewall-cmd --zone=public --query-port=8080/tcp  # 应返回yes

六、验证Tomcat是否运行

在浏览器中访问http://<服务器IP>:8080,若看到Tomcat的欢迎页面(包含“Apache Tomcat”字样),则说明配置成功。

七、可选配置(根据需求调整)

1. 部署Web应用

将WAR文件复制到Tomcat的webapps目录,Tomcat会自动解压并部署:

# 示例:部署名为myapp.war的应用
cp /path/to/myapp.war /opt/tomcat/webapps/
# 访问路径:http://<服务器IP>:8080/myapp

2. 配置虚拟主机(多域名支持)

编辑server.xml文件(位于/opt/tomcat/conf/),添加<Host>元素定义虚拟主机:

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

<Engine>标签内添加以下内容(以example.com为例):

<Host name="example.com" appBase="webapps/example" unpackWARs="true" autoDeploy="true">
    <Alias>www.example.com</Alias>  <!-- 别名 -->
    <Context path="" docBase="/opt/tomcat/webapps/example" reloadable="true"/>  <!-- 应用上下文路径 -->
</Host>

注意:需将域名解析到服务器IP(DNS配置),并创建对应的应用目录:

sudo mkdir -p /opt/tomcat/webapps/example
sudo chown -R tomcat:tomcat /opt/tomcat/webapps/example

重启Tomcat使配置生效:

sudo systemctl restart tomcat

3. 调整JVM参数

修改setenv.sh文件(位于/opt/tomcat/bin/,不存在则创建),自定义JVM内存大小(如增加堆内存):

sudo vim /opt/tomcat/bin/setenv.sh

添加以下内容:

export JAVA_OPTS="-Xms1024M -Xmx2048M -XX:MaxPermSize=512M"

保存后重启Tomcat生效。

以上步骤覆盖了Tomcat在CentOS上的核心配置,可根据实际需求扩展(如SSL配置、集群部署等)。

0
看了该问题的人还看了