文章目录
- 背景
- 服务器
- web 服务器
- 服务资源的分类
- 服务器软件的分类
- nginx 和 tomact
- 总结
- 安装Tomcat
- brew安装
- 官网压缩包安装
- IDEA集成
- IDEA插件
- 说明
背景
在讲 Tomcat 是啥之前,我们先来了解一些概念。
服务器
可以理解为一个高性能的电脑,但是这个电脑现在什么软件都没有安装。
web 服务器
给这个服务器安装一些服务器软件,如 nginx、Apache、Tomcat 等。这台服务器就可以帮我们接收用户的请求,处理请求,做出响应。
Tomcat 就是一个web服务器软件,常见的java相关的web服务器软件:
- webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。
- Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。
服务资源的分类
- 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析
- 如: html,css,JavaScript
- 动态资源:每个用户访问相同资源后,得到的结果可能不一样。称为动态资源。动态资源被访问后,需要先转换为静态资源,在返回给浏览器
- 如:servlet/jsp,php,asp…
服务器软件的分类
1、web服务器:所有的服务器软件都可以称之为web服务器软件
2、HTTP服务器(静态服务):使用HTTP协议传输资源,提供服务
3、应用服务器(动态服务):一个特定应用的承载容器
web服务器:顾名思义,Web的功能就是提供Web化服务。那什么又叫Web服务呢,简单点理解比如:网站页面服务、邮件服务、网络下载服务等等,都可以称作Web化服务。
总而言之,Web服务器从广义上来说,就是响应用户的需求并提供响应和服务。所以从这个角度来讲,当下几乎所有服务器软件都可以称之为Web服务器。
nginx 和 tomact
Nginx:典型的静态服务器,可做反向代理、负载均衡,一般放在最前面直面用户,配合后端Tomcat打前阵;纯C写的,性能贼高、内存消耗极少、稳定性也相当好,互联网公司重度使用
Tomcat:Apache出品,典型的应用服务器软件,符合Servlet标准的应用容器,也可以提供http服务,但一般不会作为http服务器;是Spring Boot框架默认的内置服务器
总结
Tomcat 可以解析动态资源(当然也可以解析静态资源,但是不是主要的) java 项目。
安装Tomcat
brew安装
brew install tomcat
官网压缩包安装
http://tomcat.apache.org
tar -zxvf tomcat压缩包路径 ~/Library/tomcat
# 为了方便把文件夹名称改为tomcat,或者建立一个软连接
# 软连接
ln -s ~/Library/apache-tomcat-8.5.54 ~/Library/tomcat
# 修改文件夹名称
mv ~/Library/apache-tomcat-8.5.54 ~/Library/tomcat
添加环境变量
vim .bash_profile
export TOMCAT_HOME=/Users/用户名/Library/tomcat
export PATH=$PATH:$TOMCAT_HOME/bin
source .bash_profile
授权 bin 目录下的权限
cd ~/Library/tomcat/bin
sudo chmod 755 *.sh
启动与关闭
startup.sh
shutdown.sh
IDEA集成
把你用 brew 安装的路径放在这
IDEA插件
pom.xml
<build><!--maven插件--><plugins><!--tomcat插件--><plugin><groupId>org.apache.tomcat.maven</groupId><!-- tomcat7的插件, 不同tomcat版本这个也不一样 --><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><!-- 通过maven tomcat7:run运行项目时,访问项目的端口号 --><port>80</port><!-- 项目访问路径 本例:localhost:9090, 如果配置的aa, 则访问路径为localhost:9090/aa--><path>/travel</path></configuration></plugin></plugins>
</build>