1. 下载
登录Apache Tomcat官网,地址 http://tomcat.apache.org ,点击左边的Download,选择需要下载的版本。
2. 解压,打开Terminal
定位到bin
目录
解压后的目录名字为apache-tomcat-9.0.31
% cd /Users/zgpeace/Workspace/apache-tomcat-9.0.31/bin
3. 启动Tomcat
3.1 启动Tomcat的前提是安装好java sdk,先看看本地安装java版本
% java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
3.2 第一次启动会遇到没有权限的问题
% ./startup.sh
zsh: permission denied: ./startup.sh
3.3 给目录下所有的可执行命令*.sh
添加可执行权限。
% sudo chmod 755 *.sh
3.4对比*.sh
与其它执行文件的权限区别
% ll
total 1728
-rw-r--r--@ 1 zgpeace staff 34K Feb 5 19:33 bootstrap.jar
-rw-r--r--@ 1 zgpeace staff 1.7K Feb 5 19:33 catalina-tasks.xml
-rw-r--r--@ 1 zgpeace staff 16K Feb 5 19:33 catalina.bat
-rwxr-xr-x@ 1 zgpeace staff 23K Feb 5 19:34 catalina.sh
权限说明:
- 第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(
r
),可写(w
),可执行(x
)。 - 紧接着的3*3个字符分3组,各指示此文件的读、写、执行权限,对于
owner
、group
、others
而言。
因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x
为例):
rwx(Owner)r-x(Group)r-x(Other)
3.5 再次启动Tomcat,成功
% ./startup.sh
Using CATALINA_BASE: /Users/zgpeace/Workspace/apache-tomcat-9.0.31
Using CATALINA_HOME: /Users/zgpeace/Workspace/apache-tomcat-9.0.31
Using CATALINA_TMPDIR: /Users/zgpeace/Workspace/apache-tomcat-9.0.31/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
Using CLASSPATH: /Users/zgpeace/Workspace/apache-tomcat-9.0.31/bin/bootstrap.jar:/Users/zgpeace/Workspace/apache-tomcat-9.0.31/bin/tomcat-juli.jar
Tomcat started.
3.6 Chrome访问http://localhost:8080/
3.7 停止Tomcat
% ./shutdown.sh
Using CATALINA_BASE: /Users/zgpeace/Workspace/apache-tomcat-9.0.31
Using CATALINA_HOME: /Users/zgpeace/Workspace/apache-tomcat-9.0.31
Using CATALINA_TMPDIR: /Users/zgpeace/Workspace/apache-tomcat-9.0.31/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
Using CLASSPATH: /Users/zgpeace/Workspace/apache-tomcat-9.0.31/bin/bootstrap.jar:/Users/zgpeace/Workspace/apache-tomcat-9.0.31/bin/tomcat-juli.jar
验证,再次访问链接http://localhost:8080/失败
% curl http://localhost:8080/
curl: (7) Failed to connect to localhost port 8080: Connection refused
4. 运行自己打包的代码
比如从IDEA中导出SpringBoot的war包,放到Tomcat/webapps/
下面, 启动Tomcat后会自动加压为文件夹,比如笔者放了demo-0.0.1-SNAPSHOT.war
, 启动后自动解压为demo-0.0.1-SNAPSHOT
启动Tomcat后./startup.sh
, 访问路径要代码文件夹的名字。结果如下:
5. Tomcat的目录结构及作用
|- bin
:存放tomcat的命令。
catalina.sh命令:
startup.sh-> catalina.sh start
shutdown.sh- > catalina.sh stop
-
|- conf
:存放tomcat的配置信息。其中server.xml
文件是核心的配置文件。 -
|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp
-
|-logs:运行过程的日志信息
-
|-temp:临时目录
-
|-webapps:共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
-
|-work:tomcat的运行目录。jsp运行时产生的临时文件就存放在这里
-
|- WebRoot :web应用的根目录
8.1 |-静态资源(html+css+js+image+vedio)
8.2 |-WEB-INF:固定写法。
8.3 |-classes:(可选)固定写法。存放class字节码文件
8.4 |-lib:(可选)固定写法。存放jar包文件。
8.5 |-web.xml
>注意: 1)WEB-INF目录里面的资源不能通过浏览器直接访问 2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中
6. Homebrew 安装Tomcat
6.1 安装Tomcat指令
brew install tomcat
# 指定版本9
brew install tomcat@9
# 查看安装地址
brew ls tomcat
6.2 如果Hombrew版本太旧,请先升级
% brew -v
Homebrew 2.1.9
Homebrew/homebrew-core (git revision 8cb6a; last commit 2020-02-27)
Homebrew/homebrew-cask (git revision c7f16; last commit 2020-02-27)
9:34 zgpeace@zgpeaces-MBP /Users/zgpeace/Workspace/Tomcat
% brew update
Already up-to-date.
6.3 安装具体细节, 可以看到Tomcat依赖于openjdk等, 安装成功后,查看Tomcat的位置
% brew install tomcat@9
Updating Homebrew...
==> Installing dependencies for tomcat: openjdk
==> Installing tomcat dependency: openjdk
# 查看安装地址
% brew ls tomcat
/usr/local/Cellar/tomcat/9.0.31_1/bin/catalina
/usr/local/Cellar/tomcat/9.0.31_1/homebrew.mxcl.tomcat.plist
/usr/local/Cellar/tomcat/9.0.31_1/libexec/bin/ (17 files)
/usr/local/Cellar/tomcat/9.0.31_1/libexec/conf/ (10 files)
/usr/local/Cellar/tomcat/9.0.31_1/libexec/lib/ (32 files)
/usr/local/Cellar/tomcat/9.0.31_1/libexec/logs/ (6 files)
/usr/local/Cellar/tomcat/9.0.31_1/libexec/temp/safeToDelete.tmp
/usr/local/Cellar/tomcat/9.0.31_1/libexec/webapps/ (571 files)
/usr/local/Cellar/tomcat/9.0.31_1/libexec/work/ (2 files)
/usr/local/Cellar/tomcat/9.0.31_1/libexec/ (2 files)
/usr/local/Cellar/tomcat/9.0.31_1/RELEASE-NOTES
/usr/local/Cellar/tomcat/9.0.31_1/RUNNING.txt
...
6.4 启动Tomcat, 访问http://localhost:8080/成功
catalina run
6.5 上面Tomcat启动会有log在控制台,关掉控制台后Tomcat停止。下面方法为优雅的启动、停止Tomca。
#启动
% catalina start
#停止
% catalina stop
6.6 Homebrew services
启动、停止Tomcat
#启动
brew services start tomcat
#停止
brew services stop tomcat
参考
https://www.cnblogs.com/kongzhongqijing/p/3488884.html
https://docs.brew.sh/FAQ
https://medium.com/@fahimhossain_16989/installing-apache-tomcat-on-macos-mojave-using-homebrew-28ce039b4b2e