中间件(二)- Tomcat
- 1. 什么是Tomcat?
- 2. 安装tomcat(linux)
- 2.1 下载
- 2.2 安装
- 2.3 配置环境变量并启动
- 2.4 验证tomcat是否安装成功
1. 什么是Tomcat?
Tomcat是一个开源、免费、轻量级的Web服务器。
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
官网
什么是Web服务器?
Web服务器是安装在服务端的一款软件,它对HTTP协议的操作进行了封装使得程序员不必直接对协议进行相关操作,让Web开发变得更加便捷。Web服务器的主要功能就是提供网上信息浏览服务,当我们将自己写的Web项目部署道Web服务器上,只要启动Web服务器,就能直接通过浏览器访问我们的Web项目了。
目前比较有名的Web服务器有:Apache、Nginx、ISS。
Tomcat和Apache的联系:
- Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的
- Tomcat仅支持JDBC、JSP、Servlet等少量JavaEE规范
- 因为Tomcat支持Servlet/JSP规范,所以Tomcat也被称为Web容器、Servlet容器。Servlet需要依赖Tomcat才能运行。
Servlet
Servlet是 Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术
。Servlet 虽然被称作“小程序”,但是它的功能却异常强大,因为它是基于 Java 的,几乎可以使用所有的 Java API,Java 能做的事情,Servlet 也能做。
Java 是一种功能强大的通用型编程语言,可以处理 HTTP 请求,可以访问数据库,可以生成 HTML 代码,您完全可以使用原生 Java 来开发动态网站。但是,使用原生 Java 开发动态网站非常麻烦,需要自己解析 HTTP 请求的报头,需要自己分析用户的请求参数,需要自己加载数据库组件……种种原因导致使用原生 Java 开发动态网站几乎是一件不能被接受的事情。正是基于这种原因,Java 官方后来推出了 Servlet 技术,它对开发动态网站需要使用的原生 Java API 进行了封装,形成了一套新的 API,称为 Servlet API。
使用 Servlet 开发动态网站非常方便,程序员只需要集中精力处理业务逻辑,不需要再为那些基础性的、通用性的功能编写代码,这使得 Servlet 在动态网站开发领域具备了很高的实用性。
Servlet 基于 Java,可以使用几乎全部的 Java API,所以它的功能异常强大,完全可以胜任企业级开发,能够处理那些高并发、大吞吐量、业务逻辑复杂的应用场景。
您可以这样理解,Servlet 是 Sun 公司推出的一种基于 Java 的动态网站开发技术。编写 Servlet 代码需要遵循 Java 语法,一个 Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。Servlet 程序需要先编译成字节码文件(.class文件),然后再部署到服务器运行。
Web服务器、服务端、服务器的区别和联系:
- 服务器是一种特殊的计算机,它比普通计算机运行更快、负载更高、价格更贵,属于硬件范畴;
- 服务端是是指为客户端提供服务的计算机,服务的内容诸如:提供数据的保存、数据的访问……属于硬件范畴;
- Web服务器是指安装再服务端的一款软件,主要功能是提供网上信息浏览服务,但是只能响应HTTP的请求数据,属于软件范畴。
能让你写的网站被所有人访问的三要素:服务器+域名+网站
2. 安装tomcat(linux)
2.1 下载
版本关系
官网下载地址
我们选择 Apache Tomcat® 8.x software 最新的版本8.5.88下载使用
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.88/bin/
下载完成后上传到linux服务器
2.2 安装
[root@node-251 tomcat]# tar -xzvf apache-tomcat-8.5.88.tar.gz
[root@node-251 tomcat]# mv apache-tomcat-8.5.88 /usr/share/tomcat
[root@node-251 tomcat]# pwd
/usr/share/tomcat
[root@node-251 share]# cd tomcat/
[root@node-251 tomcat]# ll
total 128
drwxr-x--- 2 root root 4096 May 18 19:23 bin
-rw-r----- 1 root root 19992 Apr 15 04:16 BUILDING.txt
drwx------ 2 root root 238 Apr 15 04:16 conf
-rw-r----- 1 root root 6210 Apr 15 04:16 CONTRIBUTING.md
drwxr-x--- 2 root root 4096 May 18 19:23 lib
-rw-r----- 1 root root 57011 Apr 15 04:16 LICENSE
drwxr-x--- 2 root root 6 Apr 15 04:16 logs
-rw-r----- 1 root root 1726 Apr 15 04:16 NOTICE
-rw-r----- 1 root root 3398 Apr 15 04:16 README.md
-rw-r----- 1 root root 7139 Apr 15 04:16 RELEASE-NOTES
-rw-r----- 1 root root 16505 Apr 15 04:16 RUNNING.txt
drwxr-x--- 2 root root 30 May 18 19:23 temp
drwxr-x--- 7 root root 81 Apr 15 04:16 webapps
drwxr-x--- 2 root root 6 Apr 15 04:16 work
2.3 配置环境变量并启动
这里我们配置环境变量的前提是已经安装并配置好了JDK
[root@node-251 bin]# tail -1 /etc/profile
CATALINA_HOME=/usr/share/tomcat
[root@node-251 tomcat]# source /etc/profile
[root@node-251 tomcat]# cd bin/
[root@node-251 bin]# ./startup.sh
Using CATALINA_BASE: /usr/share/tomcat
Using CATALINA_HOME: /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@node-251 bin]# ps -ef|grep tomcat
root 59140 1 13 19:30 pts/0 00:00:02 /usr/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.io.tmpdir=/usr/share/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 59190 54358 0 19:30 pts/0 00:00:00 grep --color=auto tomcat
[root@node-251 bin]# ss -nltp|grep 59140
LISTEN 0 1 [::ffff:127.0.0.1]:8005 [::]:* users:(("java",pid=59140,fd=63))
LISTEN 0 100 [::]:8080 [::]:* users:(("java",pid=59140,fd=54))
提示Tomcat started.
则表示启动成功,查看tomcat对外暴露的端口号8080
运行shutdown.sh文件,正常关闭不会造成数据丢失
2.4 验证tomcat是否安装成功
在浏览器中输入:http:\IP地址:8080 如果出现tomcat的主页则代表安装成功
如果无法访问,可能是因为防火墙、selinux等因素,可以参考笔者其他文章进行配置
尝试下使用这个轻量级的web服务器
[root@node-251 webapps]# mkdir hello
[root@node-251 webapps]# cd hello/
[root@node-251 hello]# echo '123' > 123
[root@node-251 hello]# ll
total 4
-rw-r--r-- 1 root root 4 May 18 19:41 123
[root@node-251 hello]# cat 123
123
[root@node-251 hello]# pwd
/usr/share/tomcat/webapps/hello