欢迎光临白事网
详情描述

一、准备工作

1. 检查Java环境

# 检查是否已安装Java
java -version

# 如果未安装,使用Homebrew安装
brew install openjdk

# 或手动下载安装
# 设置JAVA_HOME环境变量
export JAVA_HOME=$(/usr/libexec/java_home)
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc

2. 获取Tomcat

# 方法1:使用Homebrew安装
brew install tomcat

# 方法2:手动下载(推荐)
# 访问官网:https://tomcat.apache.org/download-10.cgi
# 下载 tar.gz 包(如:apache-tomcat-10.1.24.tar.gz)

# 解压到指定目录
tar -xzf apache-tomcat-10.1.24.tar.gz
sudo mv apache-tomcat-10.1.24 /usr/local/tomcat

二、手动安装Tomcat步骤

1. 解压和配置

# 解压下载的Tomcat
tar -xzf apache-tomcat-*.tar.gz

# 移动到应用程序目录(可选)
sudo mv apache-tomcat-* /usr/local/tomcat

# 设置环境变量
echo 'export CATALINA_HOME=/usr/local/tomcat' >> ~/.zshrc
echo 'export PATH=$CATALINA_HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

2. 配置用户权限

编辑 /usr/local/tomcat/conf/tomcat-users.xml

<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="admin" password="admin123" roles="manager-gui,admin-gui"/>
</tomcat-users>

3. 启动Tomcat

# 方法1:使用 startup.sh 脚本
cd /usr/local/tomcat/bin
./startup.sh

# 或直接使用
/usr/local/tomcat/bin/startup.sh

4. 验证启动

# 查看日志
tail -f /usr/local/tomcat/logs/catalina.out

# 检查进程
ps aux | grep tomcat

# 测试访问
curl http://localhost:8080

三、使用Homebrew安装(更简单)

1. 安装

brew install tomcat

2. 配置

# 查看安装信息
brew info tomcat

# 编辑配置文件(如果需要修改端口等)
nano /usr/local/opt/tomcat/libexec/conf/server.xml

3. 管理服务

# 启动
brew services start tomcat

# 停止
brew services stop tomcat

# 重启
brew services restart tomcat

# 查看状态
brew services list

四、验证安装成功

浏览器访问

  • 打开浏览器,访问:http://localhost:8080
  • 应该看到Tomcat的欢迎页面

管理页面

  • http://localhost:8080/manager/html - 应用管理
  • http://localhost:8080/host-manager/html - 主机管理

五、常见问题解决

1. 端口冲突

# 修改Tomcat端口
sudo nano /usr/local/tomcat/conf/server.xml

# 修改Connector端口(默认8080)
<Connector port="8080" protocol="HTTP/1.1" ... />

2. 权限问题

# 给脚本执行权限
chmod +x /usr/local/tomcat/bin/*.sh

# 如果使用默认端口(<1024)需要sudo
sudo /usr/local/tomcat/bin/startup.sh

3. JAVA_HOME未设置

# 在catalina.sh中添加
export JAVA_HOME=$(/usr/libexec/java_home)

# 或编辑setenv.sh
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' > /usr/local/tomcat/bin/setenv.sh
chmod +x /usr/local/tomcat/bin/setenv.sh

六、部署Web应用

1. 部署WAR文件

# 将war文件复制到webapps目录
cp your-app.war /usr/local/tomcat/webapps/

# Tomcat会自动解压部署

2. 热部署配置

编辑 conf/server.xml 在 Host 标签中添加:

<Context docBase="/path/to/your/app" path="/yourapp" reloadable="true"/>

七、开机自启动

1. 创建LaunchDaemon

sudo nano /Library/LaunchDaemons/org.apache.tomcat.plist

内容示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>tomcat</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/tomcat/bin/catalina.sh</string>
        <string>run</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>UserName</key>
    <string>your_username</string>
</dict>
</plist>

2. 加载服务

sudo launchctl load /Library/LaunchDaemons/org.apache.tomcat.plist

快速启动脚本

创建一个简单的启动脚本 start-tomcat.sh

#!/bin/bash
export JAVA_HOME=$(/usr/libexec/java_home)
export CATALINA_HOME=/usr/local/tomcat
$CATALINA_HOME/bin/startup.sh
echo "Tomcat started at http://localhost:8080"

推荐方式:对于macOS用户,使用Homebrew安装是最简单的方法,它会自动处理服务和路径配置。

相关帖子
舟山市AI数字人制作短视频#网站建设本地公司,提供一站式建站服务
舟山市AI数字人制作短视频#网站建设本地公司,提供一站式建站服务
遗产继承涉及不动产时登记机关需要审核哪些关键材料
遗产继承涉及不动产时登记机关需要审核哪些关键材料
舟山市购物商城建设&开源网站开发,一站式服务
舟山市购物商城建设&开源网站开发,一站式服务
舟山市SEO网络推广@商城网站制作设计,优秀设计团队
舟山市SEO网络推广@商城网站制作设计,优秀设计团队
从淡水到海水:不同水域的鲈鱼在外形和习性上有哪些明显的适应差异?
从淡水到海水:不同水域的鲈鱼在外形和习性上有哪些明显的适应差异?
公共安全隐患随手拍,上传到哪个官方平台处理最快最有效?
公共安全隐患随手拍,上传到哪个官方平台处理最快最有效?
黄山市精准获客渠道&网站设计开发,定制建站
黄山市精准获客渠道&网站设计开发,定制建站
吉安市丧事服务一条龙|陵园丧事服务,价格透明,1小时上门
吉安市丧事服务一条龙|陵园丧事服务,价格透明,1小时上门
老旧小区加装电梯后,新增的运营维护费用该如何分摊才公平?
老旧小区加装电梯后,新增的运营维护费用该如何分摊才公平?
太原市网站搜索引擎优化#多语言网站制作,模板建站
太原市网站搜索引擎优化#多语言网站制作,模板建站
2026年家庭组团前往海南免税购物,有哪些可以共享的优惠与窍门?
2026年家庭组团前往海南免税购物,有哪些可以共享的优惠与窍门?
开发商宣传的“完全人车分流”社区,在实际设计和建设中通常如何实现?
开发商宣传的“完全人车分流”社区,在实际设计和建设中通常如何实现?
关于外嫁女权益,当前社会普遍存在哪些需要澄清的常见认识误区?
关于外嫁女权益,当前社会普遍存在哪些需要澄清的常见认识误区?
单位聘用退休人员,是否需要为其继续缴纳社会保险,特别是工伤保险?
单位聘用退休人员,是否需要为其继续缴纳社会保险,特别是工伤保险?
温州市智能响应式网站建设#网站设计开发,优秀设计团队
温州市智能响应式网站建设#网站设计开发,优秀设计团队
玉溪市殡葬服务办理电话|白事咨询,价格透明,1小时上门
玉溪市殡葬服务办理电话|白事咨询,价格透明,1小时上门
如何根据衣物标签的洗涤符号,正确选择水温和清洗模式?
如何根据衣物标签的洗涤符号,正确选择水温和清洗模式?
bat批处理文件每隔一段时间运行一次程序的代码
bat批处理文件每隔一段时间运行一次程序的代码
灵活就业人员参加的医保,报销比例和职工医保一样吗?
灵活就业人员参加的医保,报销比例和职工医保一样吗?