当前位置: 首页 > news >正文

Linux研学-Tomcat安装

一 概述

  Tomcat 是 Apache 开发的开源 Servlet 容器,支持 Java Servlet 和 JSP 规范,提供轻量级 Web 服务功能,可托管动态 Java Web 应用(如 JSP、Servlet)并处理 HTTP 请求。也就是让用户开发的WEB应用程序变成可访问的网页。

  核心架构包含 Connector,Container(Engine/Host/Context/Wrapper)、Valve 等组件,支持静态资源访问、动态请求处理、安全认证、日志管理及虚拟主机配置。

  相比 Nginx/Apache,Tomcat 专为 Java 生态设计,适用于开发测试、小型生产环境或微服务场景,通过部署 WAR 包或管理界面快速运行应用,是 Java Web 开发的标准容器之一

二 JDK安装

1 官网下载(需注册登录)

位置

2 上传至Linux的root目录

上传

3 创建文件夹

# 统一管理
mkdir -p /export/server

4 解压

# 解压到指定目录中
tar -zxvf jdk-8u451-linux-x64.tar.gz -C /export/server/

5 创建软连接

# /export/server/目录创建软连接 保留jdk版本号 多个jdk更改软连接指向即可切换版本
ln -s /export/server/jdk1.8.0_451/ /export/server/jdk
ls
jdk  jdk1.8.0_451

6 配置环境变量

# 修改配置文件
vim /etc/profile# 修改后保存退出,令文件生效
source /etc/profile# 查看是否成功追加
echo $PATH
/usr/local/openssl/bin:/root/.local/bin:/root/bin:/usr/local/openssl/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/export/server/jdk/bin# 查看所执行的java程序来自哪里
which java
/export/server/jdk/bin/java

  若执行其他版本的jdk 可观察PATH中是否存在其他jdk在所需版本的路径前面,可通过which搜索将目录中的jdk替换为自己的版本,或将所需jdk的路径在PATH中提前

# jdk安装目录
export JAVA_HOME=/export/server/jdk# 加入PATH 若有多版本jdk 只修改JAVA_HOME即可
export PATH=$PATH:$JAVA_HOME/bin

三 Tomcat安装

1 构建用户

  使用非root用户进行创建,防止网站被黑,从而拿到root权限

# 创建用户
useradd tomcat
# 切换用户
su - tomcat

2 下载安装包

  Tomcat会定期清理旧版本,因此需要去官网查看可用的版本下载链接,推荐Core 版本的 tar.gz
在这里插入图片描述

# 下载 或下载后上传至Linux
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.107/bin/apache-tomcat-9.0.107.tar.gz

3 解压到指定文件夹

# tomcat用户无权限解压至/export/server目录 因此切换用户
logout # 前往tomcat用户的家目录
cd /home/tomcat/# 解压文件到指定目录
tar -zxvf apache-tomcat-9.0.107.tar.gz -C /export/server/

4 创建软连接

# 切换tomcat用户
ln -s apache-tomcat-9.0.107 /export/server/tomcat

5 修改目录权限

# 递归修改文件/目录的所有者和所属组
chown -R tomcat:tomcat tomcat
chown -R tomcat:tomcat apache-tomcat-9.0.107# 查看权限
ls -l
drwxr-xr-x. 9 tomcat tomcat 4096  7月15日 22:52 apache-tomcat-9.0.107
lrwxrwxrwx. 1 root   root     28  7月15日 15:28 jdk -> /export/server/jdk1.8.0_451/
drwxr-xr-x. 8 root   root   4096  7月15日 15:25 jdk1.8.0_451
lrwxrwxrwx. 1 tomcat tomcat   21  7月15日 22:53 tomcat -> apache-tomcat-9.0.107

6 启动

# 切换tomcat用户
su - tomcat# 启动 输出为Tomcat started.表示启动成功
/export/server/tomcat/bin/startup.sh

7 检查端口 8080

# tomcat 端口默认绑定 8080
netstat -anp|grep 8080
tcp6    0       0 :::8080        :::*        LISTEN      6145/java 

8 内部访问

  此时仅内部有权限访问,由于防火墙存在,外部请求无法访问

# 测试本地 Tomcat 服务是否正常运行 正常可输出页面信息
curl 127.0.0.1:8080

9 放行8080端口的外部访问权限

  ① 方式一:关闭防火墙

# 停止防火墙服务
systemctl stop firewalld# 禁用防火墙开机自启
systemctl disable firewalld

  ② 方式二:配置防火墙规则,放行端口

# 放行8080端口的TCP流量(--permanent表示永久规则)
sudo firewall-cmd --add-port=8080/tcp --permanent# 重新加载防火墙规则(使配置立即生效)
sudo firewall-cmd --reload

  ③ 验证端口是否放行

# 查看已放行的端口列表
firewall-cmd --list-ports# 或检查详细规则(应包含8080/tcp)
firewall-cmd --list-all
http://www.dtcms.com/a/292083.html

相关文章:

  • 异构融合 4A:重构高性能计算与复杂场景分析的安全与效率边界
  • 时序数据库IoTDB好不好?
  • Android-API调用学习总结
  • 基于Surfer与Voxler数据处理及可视化技术应用
  • 输电线路外破点位可视化监拍装置的 AI 智能识别可应对哪些电力安全隐患?如何保障其识别精度与响应速度?
  • c++,从汇编角度看lambda
  • 查看 iOS iPhone 设备上 App 和系统运行时的实时日志与崩溃日志
  • 十分钟快速完成光伏设计方案
  • C++11特性学习
  • UE5保姆级基础教程(第五章)
  • Linux操作系统之线程(六):线程互斥
  • 金山办公WPS项目产品总监陈智新受邀为第十四届中国PMO大会演讲嘉宾
  • 什么是AI思维:它是智能优先与世界模型重构商业逻辑
  • anchor 智能合约案例6 之 token_lottery
  • 让 Node.js 支持全局路径的模块搜索
  • solidity从入门到精通 第一章:区块链与智能合约的奇妙世界
  • (LeetCode 面试经典 150 题 ) 128. 最长连续序列 (哈希表)
  • 【bug】 jetson上opencv无法录制h264本地视频
  • [Dify] -进阶9- 使用 API 调用方式将 Dify 嵌入自己的网站
  • Typecho三种版权保护方法对比与实战指南
  • 【硬件基础】计算机存储和通信领域名词概念解释,时钟频率,传输速率,总线宽度,存储容量,带宽利用率,数据位宽,数据带宽
  • 牛客:最长无重复子数组
  • 嵌入式开发学习———Linux环境下数据结构学习(一)
  • Web3面试题
  • [特殊字符] 字节内部流出版!19道前端核心面试题解析——速存
  • 网络基础16--VRRP技术
  • ospf技术
  • 中国在远程医疗智能化方面有哪些特色发展模式?
  • js 数字逢三切断、整数最大9位、小数最大2位
  • LeetCode 热题100:42.接雨水