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; ?>
】
相关推荐
- PowerShell怎么创建复杂的XML结构
- Win11鼠标灵敏度怎么调 Win11鼠标指针移动
- Win11怎么设置默认浏览器Chrome_Wind
- Win11任务栏天气怎么关闭 Win11隐藏天气小
- c++如何实现一个高性能的环形队列(Ring Bu
- 如何在Golang中定义接口_抽象方法和多态实现
- 如何在Windows中创建新的用户账户?(标准与管
- 如何使用Golang操作指针变量_Golang解引
- php本地部署后数据库连接报错_1045acces
- 如何使用Golang实现聊天室消息存档_存储聊天记
- php文件怎么变mp4保存_php输出视频流保存为
- php接口返回数据乱码怎么办_php接口调试编码问
- Mac如何将HEIC图片格式转为JPG_Mac批量
- phpstudy本地环境mysql忘记密码_重置m
- PHP的FastAdmin架构适合二次开发吗_特点
- XSLT怎么生成动态的HTML属性名和标签名
- Windows蓝屏错误0x0000002C怎么解决
- 如何使用Golang开发简单的聊天室消息存储_Go
- Win11如何添加/删除输入法 Win11切换中英
- Windows如何设置登录时的欢迎屏幕背景?(锁屏
- Win11怎么设置系统还原_Windows11系统
- 如何在 Go 中正确反序列化多个同级 XML 元素
- WindowsUSB驱动安装异常怎么办_USB驱动
- Win11怎么设置右键刷新选项_Windows11
- c++ try_emplace用法_c++ map
- Win11怎么设置快速访问_Windows11文件
- Mac如何修改Hosts文件?(本地开发与屏蔽网站
- Flask 表单数据通过 SMTP 发送邮件的完整
- Windows7怎么找回经典开始菜单_Window
- php8.4xdebug无法调试怎么办_php8.
- 如何使用Golang实现跨域请求支持_Golang
- 如何诊断并终止卡死的 multiprocessin
- Win11怎么更改文件夹图标_自定义Win11文件
- 如何在Golang中处理URL参数_Golang
- php删除数据怎么清空表_truncate与del
- php怎么捕获异常_trycatch结构处理运行时
- Windows10如何更改系统字体大小_Win10
- Win11怎么关闭自动修复_跳过Win11开机自动
- c++如何连接Redis c++ hiredis库
- win11如何清理传递优化文件 Win11为C盘瘦
- Win11怎么开启剪贴板历史记录_Windows1
- Win11触摸板没反应怎么办_开启Win11笔记本
- Python装饰器设计思路_功能增强机制说明【指导
- 如何使用Golang搭建Web开发环境_快速启动H
- Windows10如何更改任务栏高度_Win10解
- 短链接还原php提示内存不足_调整PHP内存限制设
- Mac上的iMovie如何剪辑视频?(新手入门教程
- c++的mutex和lock_guard如何使用
- Win10怎样卸载iTunes_Win10卸载iT
- SAX解析器是什么,它与DOM在处理大型XML文件

QQ客服