菜鸟科技网

Linux Tomcat部署命令有哪些关键步骤?

在Linux系统中部署Tomcat是Java Web应用开发中常见的操作,整个过程涉及环境准备、Tomcat安装、配置优化及服务管理等环节,以下从基础步骤到进阶配置,详细说明Linux下Tomcat的部署命令及相关操作。

Linux Tomcat部署命令有哪些关键步骤?-图1
(图片来源网络,侵删)

环境准备

在部署Tomcat前,需确保系统已安装必要的运行环境,以CentOS 7为例,执行以下命令安装Java Development Kit(JDK):

yum update -y  # 更新系统包
yum install java-1.8.0-openjdk-devel -y  # 安装JDK 1.8
java -version  # 验证Java安装是否成功,显示版本信息则安装成功

若使用Ubuntu系统,可通过apt install openjdk-8-jdk安装JDK,安装完成后,需配置JAVA_HOME环境变量,编辑/etc/profile文件:

vi /etc/profile

在文件末尾添加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
export PATH=$PATH:$JAVA_HOME/bin

保存后执行source /etc/profile使配置生效,通过echo $JAVA_HOME检查变量是否设置成功。

Linux Tomcat部署命令有哪些关键步骤?-图2
(图片来源网络,侵删)

Tomcat下载与安装

Tomcat官方提供了二进制压缩包,可通过wget命令下载(以Tomcat 9为例):

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz

下载完成后,将压缩包解压至指定目录(如/usr/local):

tar -zxvf apache-tomcat-9.0.65.tar.gz -C /usr/local/
mv /usr/local/apache-tomcat-9.0.65 /usr/local/tomcat  # 重命名目录方便管理

创建Tomcat专用用户并设置目录权限(避免使用root运行):

useradd -r -s /bin/false tomcat
chown -R tomcat:tomcat /usr/local/tomcat
chmod +x /usr/local/tomcat/bin/*.sh  # 赋予脚本执行权限

Tomcat目录结构说明

Tomcat安装目录下的主要文件夹及其功能如下表所示:

目录名称 功能说明
/bin 存放启动(startup.sh)、停止(shutdown.sh)等脚本文件
/conf 配置文件目录,包含server.xml(核心配置)、web.xml(应用部署描述符)等
/logs 日志文件目录,记录运行日志(如catalina.out
/webapps 应用程序部署目录,WAR包或解压后的Web项目存放位置
/work JSP编译后的临时文件目录,Tomcat运行时自动生成
/temp 临时文件目录,Tomcat运行时产生的临时文件

启动与停止Tomcat

前台启动(测试用)

直接执行startup.sh脚本,Tomcat将在前台运行,日志会直接打印到终端:

/usr/local/tomcat/bin/startup.sh

停止服务可通过shutdown.sh

/usr/local/tomcat/bin/shutdown.sh

后台启动(生产环境推荐)

为避免终端关闭导致Tomcat停止,可通过nohup命令结合&让进程在后台运行:

nohup /usr/local/tomcat/bin/startup.sh > /dev/null 2>&1 &

停止服务时,可使用ps命令查找Tomcat进程ID(PID)并强制终止:

ps -ef | grep tomcat  # 查找进程,找到PID后执行以下命令
kill -9 <PID>  # 强制终止进程

更优雅的停止方式是发送SHUTDOWN信号:

/usr/local/tomcat/bin/shutdown.sh

配置Tomcat服务(Systemd管理)

将Tomcat注册为系统服务,可通过systemctl管理,实现开机自启和状态监控,创建服务文件:

vi /etc/systemd/system/tomcat.service
```根据实际JDK和Tomcat路径调整):
```ini
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk"
Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/usr/local/tomcat"
Environment="CATALINA_BASE=/usr/local/tomcat"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target

保存后执行以下命令启用服务:

systemctl daemon-reload  # 重新加载配置
systemctl start tomcat   # 启动服务
systemctl enable tomcat  # 设置开机自启
systemctl status tomcat  # 查看服务状态

防火墙与端口配置

Tomcat默认使用8080端口,需确保防火墙允许该端口通过,以CentOS 7为例:

firewall-cmd --permanent --add-port=8080/tcp  # 永久开放8080端口
firewall-cmd --reload  # 重新加载防火墙配置

若需修改Tomcat端口,编辑conf/server.xml文件,找到以下行并修改port值:

<Connector port="8080" protocol="HTTP/1.1" />

修改后重启Tomcat服务使配置生效。

部署Web应用

部署WAR包

将WAR包直接复制到webapps目录,Tomcat会自动解压并部署:

cp your-app.war /usr/local/tomcat/webapps/

部署解压项目

将项目文件夹放入webapps目录,

mkdir -p /usr/local/tomcat/webapps/myapp
cp -r /path/to/project/* /usr/local/tomcat/webapps/myapp/

部署完成后,访问http://服务器IP:8080/应用名即可查看应用。

性能优化配置

conf/server.xml中可调整线程池、连接器等参数提升性能,优化HTTP连接器:

<Connector port="8080" protocol="HTTP/1.1"
           maxThreads="200" minSpareThreads="20"
           acceptCount="100" maxHttpHeaderSize="8192"
           connectionTimeout="20000" redirectPort="8443"/>

参数说明:

  • maxThreads:最大线程数,默认200,可根据服务器配置调整
  • minSpareThreads:最小空闲线程数
  • acceptCount:等待队列长度,超过则拒绝请求

日志管理

Tomcat日志默认存放在logs目录,可通过conf/logging.properties调整日志级别和输出格式,设置catalina.out日志按日期分割:

  1. 安装cronolog
    yum install cronolog -y  # CentOS系统
  2. 修改bin/catalina.sh文件,找到touch "$CATALINA_OUT"行,替换为:
    CATALINA_OUT=$CATALINA_HOME/logs/catalina.out.%Y-%m-%d
  3. catalina.sh中搜索org.apache.catalina.startup.Bootstrap "$@" start,在其后添加管道:
    2>&1 | $CATALINA_HOME/bin/cronolog "$CATALINA_OUT" >> /dev/null &

相关问答FAQs

Q1: 如何修改Tomcat的默认管理端口(8080)?
A: 编辑Tomcat的conf/server.xml文件,找到<Connector port="8080" ...>行,将port属性修改为所需端口(如8088),保存后重启Tomcat服务,同时需确保防火墙开放新端口,并避免与系统其他服务端口冲突。

Q2: 部署应用后访问404错误,如何排查?
A: 首先检查应用是否成功部署到webapps目录,确认应用名称与URL路径一致;其次查看logs/catalina.out日志文件,定位错误原因(如JSP语法错误、依赖缺失等);最后检查conf/server.xml<Host>标签的appBase配置是否正确指向部署目录。

分享:
扫描分享到社交APP
上一篇
下一篇