欢迎光临白事网
详情描述

一、准备工作

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安装是最简单的方法,它会自动处理服务和路径配置。

相关帖子
舟山市殡葬服务电话-殡仪一条龙服务,白事悼念会服务
舟山市殡葬服务电话-殡仪一条龙服务,白事悼念会服务
公积金信用贷款要注意什么?申请前必读避雷指南
公积金信用贷款要注意什么?申请前必读避雷指南
为什么一吃火锅配冰饮就容易拉稀,是肠胃在抗议还是正常反应?
为什么一吃火锅配冰饮就容易拉稀,是肠胃在抗议还是正常反应?
婚纱的储存和运输环节,如何避免在租赁流转过程中产生二次污染?
婚纱的储存和运输环节,如何避免在租赁流转过程中产生二次污染?
劳务派遣员工发生工伤,责任主体和赔付义务应由哪一方承担?
劳务派遣员工发生工伤,责任主体和赔付义务应由哪一方承担?
“多喝水就不会热衰竭”是典型简化说法,水盐同补与渗透压失衡该怎么理解才对?
“多喝水就不会热衰竭”是典型简化说法,水盐同补与渗透压失衡该怎么理解才对?
珠海市短视频制作#专业网站设计公司,网站制作
珠海市短视频制作#专业网站设计公司,网站制作
日照市殡葬一条龙服务电话-丧事一站式服务,丧事追思会服务
日照市殡葬一条龙服务电话-丧事一站式服务,丧事追思会服务
宜春市苹果系统app开发&python开源商城二次开发,一站式建站服务
宜春市苹果系统app开发&python开源商城二次开发,一站式建站服务
房产证红本抵押贷款切勿触碰红线,合规使用资金避免法律风险
房产证红本抵押贷款切勿触碰红线,合规使用资金避免法律风险
如何通过参与社区文明养犬宣传活动,来为自己积累正向的养犬信用?
如何通过参与社区文明养犬宣传活动,来为自己积累正向的养犬信用?
在数字经济时代,个人技能与薪酬的绑定关系发生了哪些值得关注的变化?
在数字经济时代,个人技能与薪酬的绑定关系发生了哪些值得关注的变化?
2026年,订阅制服务面临考验,哪些值得保留哪些可以果断取消?
2026年,订阅制服务面临考验,哪些值得保留哪些可以果断取消?
天津市安卓系统app开发#网站建设服务,提供一站式建站服务
天津市安卓系统app开发#网站建设服务,提供一站式建站服务
新乡市殡葬一条龙价格|丧葬灵堂,一年365天
新乡市殡葬一条龙价格|丧葬灵堂,一年365天
2026年不同城市的公积金年度结息政策会有大的差异吗?
2026年不同城市的公积金年度结息政策会有大的差异吗?
丽水市网站SEO优化#网站建设服务公司,优秀设计团队
丽水市网站SEO优化#网站建设服务公司,优秀设计团队
肇庆市精准获客助手&网站搭建服务,优秀开发团队
肇庆市精准获客助手&网站搭建服务,优秀开发团队
安阳市白事服务办理|灵堂守灵,价格透明,1小时上门
安阳市白事服务办理|灵堂守灵,价格透明,1小时上门
在返聘期间,个人是否需要继续自行缴纳社保或购买相关商业保险?
在返聘期间,个人是否需要继续自行缴纳社保或购买相关商业保险?
十堰市殡葬服务热线-白事服务公司,白事出殡服务
十堰市殡葬服务热线-白事服务公司,白事出殡服务