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 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 安装tomcat和jdk,首先需要安装jdk,因为tomcat要想启动,依赖于jdk的环境变量
jdk版本目前有1.6、1.7、1.8,简称为6、7、8
这里使用的是JDK的1.8版本,官网地址
用浏览器打开jdk的官网,然后将手动将jdk下载到windows上,打开官网后,首先点同意 Accept License Agreement ,再选择一个对应的版本,即 tar.gz 的(选择的时候要看清自己的系统是多少位的,在centos6之前是区分32位或64位的,但在centos7中不在区分的,虽然有32位的版本,但是是基于64位的版本的基础上编译出来的,所以最终还是一个64位的),所以再用centos7的系统,那下载的jdk版本肯定是 x86 的
选择如下版本,然后点击下载
下载好jdk后,在linux系统中切换到 /usr/local/src 目录下
[root@hf-01 ~]# cd /usr/local/src/
[root@hf-01 src]# ls
apr-1.6.3 nginx-1.12.1
apr-1.6.3.tar.gz nginx-1.12.1.tar.gz
apr-util-1.6.1 php-5.6.30
apr-util-1.6.1.tar.bz2 php-5.6.30.tar.gz
httpd-2.4.29 php-7.1.6
httpd-2.4.29.tar.gz php-7.1.6.tar.bz2
mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz phpredis-develop
mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz phpredis-develop.zip
[root@hf-01 src]#
复制
将jdk传输到 /usr/local/src目录下,直接输入ctrl+alt+f快捷键,用xftp传输,比较方便,还非常安全,它是基于ssh传输,不需要开启ftp的端口 [root@hf-01 src]# ls
apr-1.6.3 nginx-1.12.1
apr-1.6.3.tar.gz nginx-1.12.1.tar.gz
apr-util-1.6.1 php-5.6.30
apr-util-1.6.1.tar.bz2 php-5.6.30.tar.gz
httpd-2.4.29 php-7.1.6
httpd-2.4.29.tar.gz php-7.1.6.tar.bz2
jdk-8u161-linux-x64.tar.gz phpredis-develop
mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz phpredis-develop.zip
mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
[root@hf-01 src]#
复制
解压jdk安装包 [root@hf-01 src]# tar zxf jdk-8u161-linux-x64.tar.gz //解压包
[root@hf-01 src]# du -sh jdk1.8.0_161/ //查看大小
371M jdk1.8.0_161/
[root@hf-01 src]#
复制
将解压完的包放到/usr/local/目录下,并修改名称为jdk1.8 mv jdk1.8.0_161 /usr/local/jdk1.8 [root@hf-01 src]# mv jdk1.8.0_161/ /usr/local/jdk1.8
[root@hf-01 src]#
复制
编辑/etc/profile文件,这个文件是编辑环境变量 [root@hf-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
保存退出
复制
编辑完配置文件,使用 source 命令使文件生效 [root@hf-01 src]# source /etc/profile
[root@hf-01 src]#
复制
检验jdk是否安装成功,使用命令java -version,看版本是否为安装的1.8.0_161,在运行命令后出现以下配置,说明jdk安装成功 [root@hf-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@hf-01 src]#
复制
若是运行命令java -version ,结果 出现的数字和我们下载的版本不一致,或者是openjdk,这时候去思考下是否安装过openjdk,若有openjdk,可以卸载掉openjdk(直接卸载指的是线下的服务器没跑任务的东西,若是线上的服务器运行后出现其他的版本或显示openjdk,这时不能随便的卸载这个包,因为系统的某个程序有可能在使用这个openjdk) [root@hf-01 src]# rpm -qa |grep openjdk
[root@hf-01 src]#
[root@hf-01 src]# yum list |grep openjdk
复制
16.3 安装Tomcat 安装Tomcat目录概要 安装Tomcat tomcat虽然是jdk和java 的中间件,但是如果没有了它,就不能去监听8080端口或80端口,也无法让客户端或者浏览器去访问直接访问站点,tomcat就是一个java的webserver tomcat依赖于jdk ,所以需要先安装jdk 切换到/ues/local/src/目录下 [root@hf-01 ~]# cd /usr/local/src
[root@hf-01 src]#
复制
下载tomcat的安装包(二进制免编译包),命令 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz [root@hf-01 src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
复制
解压包 [root@hf-01 src]# tar zxf apache-tomcat-8.5.24.tar.gz
[root@hf-01 src]#
复制
解压完之后,移动到/usr/local/目录下,并更改名字为tomcat mv apache-tomcat-8.5.24 /usr/local/tomcat [root@hf-01 src]# mv apache-tomcat-8.5.24 /usr/local/tomcat
[root@hf-01 src]#
复制
启动tomcat,因为tomcat软件包下载的是 二进制免编译包 ,不用去编译 /usr/local/tomcat/bin/startup.sh [root@hf-01 src]# /usr/local/tomcat/bin/startup.sh //这样就能把tomcat启动
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@hf-01 src]#
复制
这时候可以grep查看是否有java的进程,若是有java这个进程,说明tomcat正常启动了 [root@hf-01 src]# ps aux |grep java
root 2800 2.5 8.6 2296760 87456 pts/0 Sl 13:02 0:04 /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 2844 0.0 0.0 112680 976 pts/0 R+ 13:05 0:00 grep --color=auto java
[root@hf-01 src]#
复制
关闭tomcat的命令为/usr/local/romcat/bin/shutdown.sh ,tomcat不支持restart,若是更改了配置文件,需要去重新启动,先stop,然后start /usr/local/tomcat/bin/shutdown.sh 关闭tomcat,再来查看进程,会看到tomcat已经关闭 [root@hf-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@hf-01 src]# ps aux |grep java
root 2875 0.0 0.0 112680 972 pts/0 R+ 13:09 0:00 grep --color=auto java
[root@hf-01 src]#
复制
这时再启动tomcat [root@hf-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@hf-01 src]#
复制
查看tomcat的监听端口,会看到的监听端口为8080端口和8009端口,还有一个8005端口 8080为提供web服务的端口,8005为管理端口,8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到 一般使用的是8080端口 [root@hf-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]#
复制
测试tomcat访问页面 关闭防火墙 关闭firlewalld systemctl stop firewalld systemctl disable firewalld 关闭防火墙
[root@hf-01 src]# systemctl stop firewalld
[root@hf-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@hf-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
[root@hf-01 src]#
复制
关闭防火墙之后,打开浏览器访问 虚拟机的IP 加 8080端口 ,如 192.168.202.131:8080 打开如下的界面就是访问成功了 扩展 java容器比较1
java容器比较2
j2ee、j2se、ejb、javabean、serverlet、jsp之间关系
tomcat server.xml配置详解
tomcat常用数据库连接的方法
tomcat 单机多实例
tomcat的jvm设置和连接数设置
jmx监控tomcat
jvm性能调优监控工具jps/jstack/jmap/jhat/jstat 1
jvm性能调优监控工具jps/jstack/jmap/jhat/jstat 2
gvm gc 相关1
gvm gc 相关2
tomcat jdk 解析jsp语言