16.1 Tomcat介绍

16.2 安装jdk

16.3 安装Tomcat

扩展

java容器比较 http://my.oschina.net/diedai/blog/271367 

http://www.360doc.com/content/11/0618/21/16915_127901371.shtml

j2ee、j2se、ejb、javabean、serverlet、jsp之间关系 http://bbs.csdn.net/topics/50015576

tomcat server.xml配置详解 http://blog.csdn.net/yuanxuegui2008/article/details/6056754

tomcat常用数据库连接的方法 http://wjw7702.blog.51cto.com/5210820/1109263

16.1 Tomcat介绍:

之前已经学过了LAMP、LNMP,这是针对的php语言(针对web开发非常流行的语言)。早期流行的是ASP(在windows平台上运行的编程语言,但是针对他的不安全性,越来越多的人去php开发网站)。

那么还有一种语言是JAVA(是一种非常庞大的开发语言)。不仅仅可以开发网站的程序,也可以开发大型的软件、工具甚至游戏。

~1.Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

~2.java程序写的网站用tomcat+jdk来运行

当然php写的要用php解析

~3.tomcat是一个中间件,真正起作用的,解析java脚本的是jdk

~4.jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库。

~5.最主流的jdk为sun公司发布的jdk,除此之外,其实IBM公司也有发布JDK,CentOS上也可以用yum安装openjdk

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

16.2 安装jdk:

~1.jdk版本1.6,1.7,1.8

~2.官网下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

~3.下载jdk8,放到/usr/local/src/目录下

~4.tar zxvf jdk-8u144-linux-x64.tar.gz

~5.mv jdk1.8.0_144 /usr/local/jdk1.8

~6.vi /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

~7.source /etc/profile

~8.java -version 检验jdk有没有安装成功

实例:

57.tomcat介绍 安装jdk和tomcat-LMLPHP

57.tomcat介绍 安装jdk和tomcat-LMLPHP

57.tomcat介绍 安装jdk和tomcat-LMLPHP

在xshell界面下按Ctrl+Alt+F,开启xftp。将下号的这个jdk包先拖到root下来

[root@afeilinux-01 ~]# cd /usr/local/src/ 回到linux上来,cd到src下

[root@afeilinux-01 src]# mv /root/jdk-8u181-linux-x64.tar.gz . mv到src下

[root@afeilinux-01 src]# ls 看一下是否有这个tar包

apr-1.6.5         apr-util-1.6.1.tar.gz  jdk-8u101-linux-x64.tar.gz                  nginx-1.8.0.tar.gz          php-5.6.32.tar.gz  phpredis-develop
apr-1.6.5.tar.gz  httpd-2.4.39           mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz  p7zip_9.13_src_all.tar.bz2  php-7.1.6          phpredis-develop.zip
apr-util-1.6.1    httpd-2.4.39.tar.gz    nginx-1.8.0                                 php-5.6.32                  php-7.1.6.tar.bz2

[root@afeilinux-01 src]# tar -xvf jdk-8u101-linux-x64.tar.gz

[root@afeilinux-01 src]# du -sh jdk1.8.0_101/

352M	jdk1.8.0_101/

[root@afeilinux-01 src]# mv jdk1.8.0_101 /usr/local/jdk1.8 挪地方改名字

[root@afeilinux-01 src]# vim /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

[root@afeilinux-01 src]# source /etc/profile source一下,让他生效

[root@afeilinux-01 src]# java -version 检验jdk有没有安装成功。出现一下结果表示没问题

java version "1.8.0_101" 是不是我们安装的那个版本

Java(TM) SE Runtime Environment (build 1.8.0_101-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

[root@afeilinux-01 src]# rpm -qa |grep openjdk

假如出来的不是以上的结果。比如版本不一致,或者什么openjdk,先看一下是不是安装过openjdk这个包。使用这个命令搜一下。如果真的出现这个问题,安装了这个包,那么可以卸载他,但前提是我们是我们做实验的虚拟机上的。

在生产环境中如果出现这种情况,rpm -pa的时候有这个包。不要随便的卸载一个包,是因为系统里可能有一个程序在使用openjdk。

[root@afeilinux-01 src]# yum list |grep openjdk 可以看一下这个包。有很多的版本。加入想安装1.8的,就把java-1.8.0-openjdk.x86_64这个安装上,也可以将他的1.8的全部安装上。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

16.3 安装Tomcat:

tomcat是一个中间件,真正起作用的是jdk,但是没有tomcat还不行。没有办法去监听80或者8080端口,也没有办法让客户端或者说浏览器直接去访问这个站点。因为没有webserver,这个Tomcat就是webserver。只不过他需要依赖jdk

~1.cd /usr/local/src

~2.wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.29/bin/apache-tomcat-8.5.43.tar.gz

~3.tar zxvf apache-tomcat-8.5.43.tar.gz

~4.mv apache-tomcat-8.5.43 /usr/local/tomcat

~5./usr/local/tomcat/bin/startup.sh

就可以直接启动起来了

~6.ps aux|grep tomcat

~7.netstat -lntp |grep java

~8.三个端口:

8080为提供web服务的端口(平时用的。比如在浏览器上做测试就用:8080)

8005为管理端口(有时候会启动很慢)

8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到(作为了解)

实例:

先去官网下载tomcat8:

[root@afeilinux-01 src]# ls

apache-tomcat-8.5.43             apr-1.6.5         apr-util-1.6.1.tar.gz  jdk-8u101-linux-x64.tar.gz                  nginx-1.8.0.tar.gz          php-5.6.32.tar.gz  phpredis-develop
apache-tomcat-8.5.43-src.tar.gz  apr-1.6.5.tar.gz  httpd-2.4.39           mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz  p7zip_9.13_src_all.tar.bz2  php-7.1.6          phpredis-develop.zip
apache-tomcat-8.5.43.tar.gz      apr-util-1.6.1    httpd-2.4.39.tar.gz    nginx-1.8.0                                 php-5.6.32                  php-7.1.6.tar.bz2

[root@afeilinux-01 src]# tar -xvf apache-tomcat-8.5.43.tar.gz

[root@afeilinux-01 src]# mv apache-tomcat-8.5.43 /usr/local/tomcat

[root@afeilinux-01 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@afeilinux-01 src]# ps aux|grep java 同样会开启java

root       1627  4.0  7.4 2290196 73904 pts/0   Sl   11:00   0:03 /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 -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -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       1684  0.0  0.0 112724   988 pts/0    R+   11:02   0:00 grep --color=auto java

[root@afeilinux-01 src]# netstat -lntp |grep java 会开启以下三个端口

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1627/java
tcp6       0      0 :::8009                 :::*                    LISTEN      1627/java
tcp6       0      0 :::8080                 :::*                    LISTEN      1627/java

[root@afeilinux-01 src]# systemctl stop firewalld 关闭防火墙(为的是在浏览器上访问8080)

[root@afeilinux-01 src]# systemctl disable firewalld 并不开机启动

[root@afeilinux-01 src]# iptables -nvL 查看是否有规则,已经没有了

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

在浏览器上访问http://192.168.30.134:8080/ #为8080端口

08-02 13:51