Linux如何安装Tomcat应用服务器_Linux环境部署与端口修改【教程】
技术百科
尼克
发布时间:2026-01-01
浏览: 次 需通过命令行完成Tomcat部署:下载解压、创建专用用户并赋权、配置JAVA_HOME环境变量、修改server.xml端口、启动服务并验证。
如果您需要在Linux系统中部署Tomcat应用服务器,并完成基础配置与端口调整,则需通过命令行下载、解压、配置环境变量及修改服务监听端口。以下是具体操作步骤:
一、下载并解压Tomcat安装包
Tomcat以二进制分发包形式提供,无需编译,直接下载官方压缩包后解压即可获得可运行目录结构。
1、使用wget命令从Apache官网下载最新稳定版Tomcat(以10.1.x为例):wget https:
//downloads.apache.org/tomcat/tomcat-10/v10.1.34/bin/apache-tomcat-10.1.34.tar.gz
2、创建/opt/tomcat目录用于存放安装文件:sudo mkdir -p /opt/tomcat
3、将下载的压缩包解压至该目录:sudo tar -xzf apache-tomcat-10.1.34.tar.gz -C /opt/tomcat --strip-components=1
二、配置Tomcat运行用户与权限
为安全起见,不应以root身份运行Tomcat服务,需创建专用用户并限制其对安装目录的访问权限。
1、创建名为tomcat的系统用户,禁止登录shell:sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
2、将/opt/tomcat目录所有权递归赋予tomcat用户:sudo chown -R tomcat: /opt/tomcat
3、设置bin和conf子目录的执行与读取权限:sudo chmod +x /opt/tomcat/bin/*.sh
三、设置JAVA_HOME环境变量
Tomcat依赖JDK运行,必须正确配置JAVA_HOME指向已安装的JDK路径,否则startup.sh脚本将无法启动服务。
1、确认系统已安装JDK并获取其路径:sudo update-java-alternatives -l
2、编辑Tomcat的setenv.sh配置文件(若不存在则新建):sudo -u tomcat nano /opt/tomcat/bin/setenv.sh
3、在文件中添加JAVA_HOME赋值语句(以JDK17路径为例):export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
四、修改Tomcat默认端口
Tomcat默认使用8080作为HTTP端口,若存在冲突或需适配生产环境要求,需修改conf/server.xml中的Connector配置项。
1、使用文本编辑器打开server.xml:sudo -u tomcat nano /opt/tomcat/conf/server.xml
2、定位到包含port="8080"的
3、将port属性值更改为所需端口号(如8081):
4、如需同步修改AJP连接器端口(默认8009),查找并修改对应port属性:
五、启动Tomcat服务并验证
通过手动执行startup脚本启动Tomcat实例,随后检查进程状态与端口监听情况,确认服务正常运行。
1、切换至tomcat用户并执行启动脚本:sudo -u tomcat /opt/tomcat/bin/startup.sh
2、查看Tomcat进程是否启动成功:ps -fu tomcat
3、检查指定端口(如8081)是否处于监听状态:sudo ss -tuln | grep :8081
4、在浏览器中访问http://服务器IP:8081,确认显示Tomcat欢迎页面
# 浏览器
# 配置文件
# linux
# 端口
# linux系统
# 环境变量
# java
# amd
# red
# 解压
# apache
# tomcat
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- 如何在 Pandas 中按元素交集合并两列字符串
- C#如何使用XPathNavigator高效查询X
- Win10怎么卸载鲁大师_Win10彻底卸载鲁大师
- 如何高效获取循环末次生成的 NumPy 数组最后一
- Win11怎么关闭透明效果_Windows11个性
- c++如何使用std::bitset进行位图算法_
- Win11怎么更改默认打开方式_Win11关联文件
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- 如何将竖排文本文件转换为横排字符串
- Win11怎么查看激活状态_查询Windows 1
- 如何在 Go 中正确反序列化 XML 多节点数组(
- Win11系统更新后黑屏怎么办 Win11更新黑屏
- Win11怎么关闭自动调节亮度 Win11禁用内容
- Win11快速助手怎么用_Win11远程协助连接教
- Win11怎么关闭资讯和兴趣_Windows11任
- Win11怎么设置桌面图标间距_Windows11
- Go语言中正确反序列化多个同级XML元素为结构体切
- 如何使用Golang sort排序切片_Golan
- WindowsUSB驱动安装异常怎么办_USB驱动
- c# 如何深拷贝和浅拷贝
- 如何使用Golang处理静态文件缓存_提高页面加载
- 如何在Windows上设置闹钟和计时器_系统自带的
- Windows服务启动类型恢复方法_错误修改导致的
- Win11怎么格式化U盘_Win11系统U盘格式化
- Go 语言标准库为何不提供泛型 Contains
- MySQL 中使用 IF 和 CASE 实现查询字
- 如何更改Windows资源管理器的默认启动位置?(
- php订单日志怎么记录物流_php记录订单物流变更
- php内存溢出怎么排查_php内存限制调试与优化方
- PythonGIL机制理解_多线程限制解析【教程】
- Win11怎么关闭自动调节屏幕亮度_Windows
- 如何在Golang中捕获结构体方法错误_Golan
- Windows 10怎么隐藏特定更新补丁_Wind
- Mac怎么开启“任何来源”_Mac安装未签名应用的
- Win11如何更改用户账户文件夹名称 Win11修
- C++中的协变与逆变是什么?C++函数指针与返回类
- PHP主流架构怎么集成Redis缓存_配置步骤【方
- Win11怎么制作U盘启动盘_Win11原版系统安
- Win10怎么查看内存时序参数_Win10CPU-
- windows如何测试网速_windows系统网络
- php8.4xdebug无法调试怎么办_php8.
- PHP 中如何在函数内持久修改引用变量所指向的目标
- Win10怎样卸载TeamViewer_Win10
- c++的STL算法库find怎么用 在容器中查找指
- 如何在 Go 中比较自定义的数组类型(如 [20]
- Python正则表达式实战_模式匹配说明【教程】
- PythonDocker高级项目部署教程_多容器管
- Go 中 defer 语句在 goroutine
- Win11如何卸载OneDrive_Win11卸载
- 如何提升Golang程序I/O性能_Golang

QQ客服