在CentOS 7上安装Apache Tomcat 10.0.27

要在CentOS 7上安装Apache Tomcat 10.0.27,可以按照以下步骤操作:

  1. 安装Java开发工具包 (JDK) :

    Tomcat需要Java环境。可以使用以下命令安装OpenJDK 11:

    bash 复制代码
    sudo yum install java-11-openjdk-devel
  2. 下载Tomcat 10.0.27 :

    从Tomcat官方网站下载Tomcat 10.0.27。

    bash 复制代码
    cd /tmp
    wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
  3. 解压Tomcat :

    将下载的Tomcat文件解压到合适的目录中,例如/usr/local/tomcat10。

    bash 复制代码
    sudo mkdir /usr/local/tomcat10
    sudo tar -xvf apache-tomcat-10.0.27.tar.gz -C /usr/local/tomcat10 --strip-components=1
  4. 创建Tomcat用户 :

    为了安全起见,创建一个专门的用户来运行Tomcat。

    bash 复制代码
    sudo useradd -r -m -U -d /usr/local/tomcat10 -s /bin/false tomcat
  5. 设置目录权限 :

    将Tomcat目录的所有权赋予刚创建的用户。

    bash 复制代码
    sudo chown -R tomcat: /usr/local/tomcat10
    sudo chmod -R 755 /usr/local/tomcat10
  6. 创建Systemd服务文件 :

    创建一个Systemd服务文件来管理Tomcat服务。

    bash 复制代码
    sudo nano /etc/systemd/system/tomcat.service

    在文件中添加以下内容:

    ini 复制代码
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    
    User=tomcat
    Group=tomcat
    
    Environment="JAVA_HOME=/usr/lib/jvm/jre"
    Environment="CATALINA_PID=/usr/local/tomcat10/temp/tomcat.pid"
    Environment="CATALINA_HOME=/usr/local/tomcat10"
    Environment="CATALINA_BASE=/usr/local/tomcat10"
    Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
    Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
    
    ExecStart=/usr/local/tomcat10/bin/startup.sh
    ExecStop=/usr/local/tomcat10/bin/shutdown.sh
    
    [Install]
    WantedBy=multi-user.target
  7. 重新加载Systemd守护进程 :

    重新加载Systemd以应用新服务文件。

    bash 复制代码
    sudo systemctl daemon-reload
  8. 启动并启用Tomcat服务 :

    启动Tomcat服务并设置为开机自启动。

    bash 复制代码
    sudo systemctl start tomcat
    sudo systemctl enable tomcat
  9. 验证Tomcat安装 :

    打开浏览器并访问http://your_server_ip:8080,应该可以看到Tomcat的默认主页。

相关推荐
zhangrelay4 分钟前
ROS2 Lyrical实验5导航Nav2
linux·笔记·学习·ubuntu·机器人
一条破秋裤21 分钟前
Linux 线程分离与主动取消:pthread_detach、pthread_cancel
java·linux·jvm
j7~21 分钟前
【Linux网络】四十六.《高级 IO (上篇)》-- 详解
linux·运维·网络
IT大白鼠39 分钟前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 0 篇 · 导读:把 Linux 运维交给 AI,到底靠谱吗
linux·运维·人工智能
分布式存储与RustFS1 小时前
自托管对象存储的三种 TLS 签发:自签、Let‘s Encrypt、内网 CA 的选择与轮换
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
AI智讯中枢1 小时前
高性能 C++ 实战 (五):perf+FlameGraph 火焰图生产实战,精准定位 CPU / 缓存 / 锁瓶颈,避坑 + 完整实操案例
linux·c++·性能调优·性能分析·perf·flamegraph·火焰图
Li-Yongjun1 小时前
fuser
运维
William Dawson1 小时前
kkFileView 内网 ARM 服务器全链路部署:从「找不到 office」到全绿通关(超详细排障实录)
运维·服务器
海宇数据1 小时前
零信任架构实战:基于海宇车型识别精准构建自动化违章处理网关
运维·人工智能·架构·自动化
xbzb2 小时前
Linux SELinux 安全加固与标签排错手册
linux·运维·安全