Tomcat介绍
1 . LAMP和lLNMP针对的开发语言叫做php,php是开发web程序的流行语言。早期流行的是ASP(Windows平台运行的编程语言,因为安全性差,导致很少人使用了。)
2 .tomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、sun和其他一些公司及个人共同开发而成
3 .tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被广泛使用。
4 . Java程序写的网站用Tomcat和jdk来运行,php写的代码需要用PHP去解析。
5 . Tomcat是一个中间件,真正起作用的,解析java脚本的是jdk (java development kit),它的整个Java的核心,它包含了Jav运行环境和一堆Java相关的工具以及Java基础库。
6 . 最主流的jdk为sun公司发布的jdk(现为oracle公司拥有),IBM公司也有发布jdk。在centos上也可以用yum安装openjdk(开源)。后面安装的jdk是需要在官网上下载对应的安装包。
7 . php编写的网页是xx.php ,而java编写的网页是xx.jsp。要想解析jsp的程序,需要安装jdk。
安装jdk
1 . 先安装jdk是因为Tomcat要想启动需要jdk的一些环境变量。jdk常用版本为1.6、1.7、1.8。
2 去官网收到下载需要的版本到Windows上后。在使用xftp(Ctrl+alt+f)传到/usr/local/src目录下。
xfrp基于ssh协议传输,不需要开启ftp的端口,比较安全。
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3 . 解压缩并执行以下命令
[root@chunt src]# mv jdk1.8.0_161 /usr/local/jdk1.8
4 .编辑/etc/profile,在文件的最后写入以下内容
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
再执行source /etc/profile让它生效。
5 .检验jdk是否安装成功
[root@chunt src]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
[root@chunt src]#
出现此结果说明配置没有问题。如果出现的数字与下载的版本不一致,这时就需要看看是否yum安装过openjdk。试验机器可以直接卸载掉即可,如果是线上机器时不能卸载这个包,不卸载是因为系统中有某个程序在使用它。
安装Tomcat
1 . Tomcat是一个中间件,真正是作用的是jdk,但是又离不开Tomcat,不然没法监听80或者8080端口。让浏览器去访问这个站点。必须要一个web service(Tomcat)。只不过它依赖jdk。
2 . 下载软件包,并解压缩
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
3 移动改名
mv apache-tomcat-8.5.29 /usr/local/tomcat
4 启动Tomcat。因为是二进制包,免去了编译的过程。
[root@chunt src]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@chunt src]#
使用ps aux 来查看java进程,那么说明Tomcat已经启动了
[root@chunt src]# ps aux |grep java
root 1541 24.5 8.1 2294712 81564 pts/0 Sl 22:59 0:10 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 1585 0.0 0.0 112676 976 pts/0 R+ 23:00 0:00 grep --color=auto java
[root@chunt src]#
关闭Tomcat可以使用/usr/local/tomcat/bin/shutdown.sh
它不支持restart,如果修改了配置文件,要先关闭,然后再开启tomcat
- 端口
[root@chunt src]# netstat -lntp |grep java
tcp6 0 0 :::8080 :::* LISTEN 1541/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1541/java
tcp6 0 0 :::8009 :::* LISTEN 1541/java
[root@chunt src]#
正常会有3个端口
8080为提供web服务的端口,8005为管理端口,8009为第三方服务调用的端口(比如httpd与tomcat结合时会用到)
- 关闭防火墙后就可以去浏览器访问8080端口了
systemctl stop firewalld
systemctl disable firewalld
平时都是使用8080端口
4大java EE容器
现在流行的Java EE容器有很多:Tomcat、JBoss、Resin、Glassfish等等
1. Tomcat是Apache鼎力支持的Java Web应用服务器(注:servlet容器),由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐。
2. Jboss作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。
3. Resin也仅仅是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为他们的Java Web应用服务器,譬如163、ku6等。
在商用应用服务器里主要有:Weblogic、Websphere,其中Weblogic我也使用过很长一段时间,当时也只用其当Servlet容器,然而就在同等条件下,在性能及易用性等方面,要比Tomcat优秀很多。
4.glassfish是Sun公司推出的Java EE服务器(Java EE容器),一个比较活跃的开源社区,不断的通过社区的反馈来提高其的可用性,经过glassfish v1 glassfish v2 到今天的glassfish v3 ,它已经走向成熟。Glassfish是一个免费、开放源代码的应用服务,它实现了Java EE 5,Java EE 5 平台包括了以下最新技术:EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS 2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等。
支持集群,通过内存中会话状态复制,增强了部署体系结构的可用性与可伸缩性,它对集群有着很好的支持,可以简单到通过添加机器,就可轻松的提高网站的 带负载能力,在解析能力方面,它对html的吞吐能力与apache服务器不分上下,就是tomcat所不能比的,支持目录部署,热部署,解决了 tomcat对热部署能力的缺陷。在版本方面做的更加人性化,有开发时用的简化版,专门用于部署web项目的版本,还要完全符合j2ee标准的版本