十四周四次课
16.1 Tomcat介绍
16.2 安装jdk
16.3 安装Tomcat
16.1 Tomcat介绍
Tomcat介绍
LNMP架构针对的开发语言是PHP语言,php 是一门开发web程序非常流行的语言,早些年流行的是ASP,在Windows平台上运行的一种编程语言,但安全性差,就网站开发人员就开始转到php,而且php相对的比较安全
java是一门比较庞大的开发语言,不仅可以开发建站,也可以开发大型软件工具和游戏
Tomcat介绍
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
java程序写的网站用tomcat+jdk来解析、运行
tomcat是一个中间件,用来运行java语言写的网站,真正起作用的,解析java脚本的是jdk
jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库。
最主流的jdk为sun公司发布的jdk,除此之外,其实IBM公司也有发布jdk,CentOS上也可以用yum安装openjdk
java写的网页是jsp后缀,解析需要jdk
16.2 安装jdk
安装jdk目录概要
jdk版本1.6,1.7,1.8
下载jdk8,放到/usr/local/src/目录下
tar zxvf jdk-8u144-linux-x64.tar.gz
mv jdk1.8.0_144 /usr/local/jdk1.8
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
source /etc/profile
java -version
安装jdk
1.安装tomcat和jdk,首先需要安装jdk,因为tomcat要想启动,依赖于jdk的环境变量
2.jdk版本目前有1.6、1.7、1.8,简称为6、7、8
3.这里使用的是JDK的1.8版本,官网地址
4.用浏览器打开jdk的官网,然后将手动将jdk下载到windows上,打开官网后,首先点同意 Accept License Agreement ,再选择一个对应的版本,即 tar.gz 的(选择的时候要看清自己的系统是多少位的,在centos6之前是区分32位或64位的,但在centos7中不在区分的,虽然有32位的版本,但是是基于64位的版本的基础上编译出来的,所以最终还是一个64位的),所以再用centos7的系统,那下载的jdk版本肯定是 x86 的.
5.选择如下版本,然后点击下载
6.下载好jdk后,在linux系统中切换到 /usr/local/src 目录下
[root@tianqi-01 ~]# cd /usr/local/src/
[root@tianqi-01 src]# ls
apr-util-1.6.1.tar.bz2 httpd-2.4.29.tar.gz nginx-1.12.1 php-7.1.6.tar.bz2
apache-tomcat-8.5.24.tar.gz d? nginx-1.12.1.tar.gz phpredis-develop
apr-1.6.3 httpd-2.2.34 mariadb-10.2.6-linux-x86_64.tar.gz php-5.6.30 phpredis-develop.zip
apr-1.6.3.tar.gz httpd-2.2.34.tar.gz mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-5.6.30.tar.gz
apr-util-1.6.1 httpd-2.4.29 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz.1 php-7.1.6
[root@tianqi-01 src]#
7.将jdk传输到 /usr/local/src目录下,直接输入ctrl+alt+f快捷键,用xftp传输,比较方便,还非常安全,它是基于ssh传输,不需要开启ftp的端口
[root@tianqi-01 src]# ls
apr-util-1.6.1.tar.bz2 httpd-2.4.29.tar.gz nginx-1.12.1 php-7.1.6.tar.bz2
apache-tomcat-8.5.24.tar.gz d? jdk-8u161-linux-x64.tar.gz nginx-1.12.1.tar.gz phpredis-develop
apr-1.6.3 httpd-2.2.34 mariadb-10.2.6-linux-x86_64.tar.gz php-5.6.30 phpredis-develop.zip
apr-1.6.3.tar.gz httpd-2.2.34.tar.gz mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-5.6.30.tar.gz
apr-util-1.6.1 httpd-2.4.29 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz.1 php-7.1.6
[root@tianqi-01 src]#
8.解压jdk安装包
[root@tianqi-01 src]# tar zxvf jdk-8u161-linux-x64.tar.gz
[root@tianqi-01 src]# du -sh jdk1.8.0_161/ //查看大小
371M jdk1.8.0_161/
9.将解压完的包放到/usr/local/目录下,并修改名称为jdk1.8
mv jdk1.8.0_161 /usr/local/jdk1.8
[root@tianqi-01 src]# mv jdk1.8.0_161/ /usr/local/jdk1.8
10.编辑/etc/profile文件,这个文件是编辑环境变量
[root@tianqi-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
保存退出
11.编辑完配置文件,使用 source 命令使文件生效
[root@tianqi-01 src]# source /etc/profile
[root@tianqi-01 src]#
12.检验jdk是否安装成功,使用命令java -version,看版本是否为安装的1.8.0_161,在运行命令后出现以下配置,说明jdk安装成功
[root@tianqi-01 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@tianqi-01 src]#
13.若是运行命令java -version ,结果 出现的数字和我们下载的版本不一致,或者是openjdk,这时候去思考下是否安装过openjdk。若有openjdk,可以卸载掉openjdk(直接卸载指的是线下的服务器没跑任务的东西,若是线上的服务器运行后出现其他的版本或显示openjdk,这时不能随便的卸载这个包,因为系统的某个程序有可能在使用这个openjdk)。
[root@tianqi-01 src]# rpm -qa |grep openjdk
[root@tianqi-01 src]# yum list |grep openjdk
java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.6.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el7_3 base
java-1.7.0-openjdk.x86_64 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.7.0-openjdk-headless.x86_64 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.171-2.6.13.0.el7_4 updates
java-1.8.0-openjdk.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-accessibility.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-accessibility-debug.i686
java-1.8.0-openjdk-accessibility-debug.x86_64
java-1.8.0-openjdk-debug.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-debug.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-demo.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-demo.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-demo-debug.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-devel.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-devel-debug.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-headless.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-headless-debug.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-javadoc-zip-debug.noarch
java-1.8.0-openjdk-src.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-src.x86_64 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-src-debug.i686 1:1.8.0.161-0.b14.el7_4 updates
java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.161-0.b14.el7_4 updates
[root@tianqi-01 src]#
16.3 安装Tomcat
安装Tomcat目录概要
cd /usr/local/src
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
tar zxvf apache-tomcat-8.5.20.tar.gz
mv apache-tomcat-8.5.20 /usr/local/tomcat
/usr/local/tomcat/bin/startup.sh
ps aux|grep tomcat
netstat -lntp |grep java
三个端口8080为提供web服务的端口,8005为管理端口,8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到
安装Tomcat
tomcat虽然是jdk和java 的中间件,但是如果没有了它,就不能去监听8080端口或80端口,也无法让客户端或者浏览器去访问直接访问站点,tomcat就是一个java的webserver
tomcat依赖于jdk ,所以需要先安装jdk
1.切换到/ues/local/src/目录下
[root@tianqi-01 ~]# cd /usr/local/src/
[root@tianqi-01 src]#
2.下载tomcat的安装包(二进制免编译包),命令 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
[root@tianqi-01 src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
3.解压包
[root@tianqi-01 src]# tar zxvf apache-tomcat-8.5.24.tar.gz
4.解压完之后,移动到/usr/local/目录下,并更改名字为tomcat
mv apache-tomcat-8.5.24 /usr/local/tomcat
[root@tianqi-01 src]# mv apache-tomcat-8.5.24 /usr/local/tomcat
5.启动tomcat,因为tomcat软件包下载的是 二进制免编译包 ,不用去编译
/usr/local/tomcat/bin/startup.sh
[root@tianqi-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@tianqi-01 src]#
6.这时候可以grep查看是否有java的进程,若是有java这个进程,说明tomcat正常启动了
[root@tianqi-01 src]# ps aux |grep java
root 1411 0.3 8.2 2294596 82316 pts/0 Sl 19:24 0:07 /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 1598 0.0 0.0 112660 984 pts/0 R+ 20:04 0:00 grep --color=auto java
[root@tianqi-01 src]#
7.关闭tomcat的命令为/usr/local/romcat/bin/shutdown.sh ,tomcat不支持restart,若是更改了配置文件,需要去重新启动,先stop,然后start
/usr/local/tomcat/bin/shutdown.sh
关闭tomcat,再来查看进程,会看到tomcat已经关闭
[root@tianqi-01 src]# /usr/local/tomcat/bin/shutdown.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
[root@tianqi-01 src]# ps aux |grep java
root 1628 0.0 0.0 112660 984 pts/0 R+ 20:05 0:00 grep --color=auto java
[root@tianqi-01 src]#
8.这时再启动tomcat
[root@tianqi-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@tianqi-01 src]#
9.查看tomcat的监听端口,会看到的监听端口为8080端口和8009端口,还有一个8005端口
8080为提供web服务的端口,8005为管理端口,8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到
一般使用的是8080端口
[root@tianqi-01 src]# netstat -lntp |grep java
tcp6 0 0 :::8080 :::* LISTEN 2893/
java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2893
java tcp6 0 0 :::8009 :::* LISTEN 2893/java
[root@hf-01 src]#
10.测试tomcat访问页面
11.关闭防火墙
关闭firlewalld
systemctl stop firewalld
systemctl disable firewalld
[root@tianqi-01 src]# systemctl stop firewalld
[root@tianqi-01 src]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@tianqi-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
12.关闭防火墙之后,打开浏览器访问 虚拟机的IP 加 8080端口 ,如 192.168.11.136:8080
13.打开如下的界面就是访问成功了
友情链接:http://www.apelearn.com阿铭linux
转载于:https://blog.51cto.com/13184900/2093600