image.png
<Server 顶层元素
<Service

<Connector 连接器(接受请求)
<Engine 分配线程来处理请求
<Host



Java简介

Java是一种跨平台的、面向对象的程序设计语言,Java技术具有卓越的通用性、高效性、平台移植性和安全性

Java体系

Java SE(标准版)
Java ME(移动版)
Java EE(企业版)

JDK简介

  1. **JDKJava Development Kit)是Sun针对Java开发者推出的Java语言的软件开发工具包**

JDK是整个Java的核心

包括了Java运行环境
Java工具(如编译、排错、打包等工具)
Java基础的类库

安装部署JDK

过滤jdk

[root@client ~]# yum list | grep jdk  //过滤JDK

安装openjdk

[root@client ~]# yum -y install java-1.8.0-openjdk

查看版本

[root@client ~]# java -version

  openjdk version "1.8.0_131"


安装Tomcat

软件包下载地址:https://tomcat.apache.org/

解压软件包(软件包在lnmp_soft中)

[root@clientlnmp_soft]# tar -xf apache-tomcat-8.0.30.tar.gz

移动工作目录

[root@clientlnmp_soft]# mv apache-tomcat-8.0.30  /usr/local/tomcat

目录

[root@clientlnmp_soft]# ls /usr/local/tomcat/
bin/ //主程序目录
lib/ //库文件目录
logs/ //日志目录
temp/ //临时目录
work/ //自动编译目录
conf/ //配置文件目录
webapps/ //页面目录

启动服务

[root@clienttomcat]# bin/startup.sh

查看服务状态://tomcat默认端口号8080

[root@client tomcat]# ss -anptul | grep 8080  //tomcat默认端口号8080
tcp    LISTEN     0    100    :::8080   :::*  users:(("java",pid=1934,fd=46))

提示:tomcat还有一个8005端口,8005端口是用来关闭服务的,如果服务关闭不了执行下边操作,如果服务能正常访问,正常关闭,不需要执行下边操作,或者可以执行以下操作
[root@web1 tomcat]# mv /dev/random /dev/random.bak
[root@web1 tomcat]# ln -s /dev/urandom /dev/random
[root@client tomcat]# mv /dev/random /dev/random.bak
[root@client tomcat]# ln -s /dev/urandom /dev/random
[root@client tomcat]# bin/shutdown.sh //关闭服务
[root@client tomcat]# bin/startup.sh //启动服务

访问测试

浏览器访问测试:http://192.168.0.11:8080/

Tomcat基于域名的虚拟主机

修改配置文件配置虚拟主机

[root@client tomcat]# vim /usr/local/tomcat/conf/server.xml

  <Server>
<Service>
.. ..
<Host name="www.xoxo.com"  appBase="xoxo"
unpackWARs="true" autoDeploy="true">
</Host>
<Host name="www.xxoo.com"  appBase="xxoo"
unpackWARs="true" autoDeploy="true">
</Host>
.. ..

创建网站根目录

页面是放在大写的ROOT里边的,所以页要把大写的ROOT创建出来

[root@client ]# mkdir -p /usr/local/tomcat/xoxo/ROOT
[root@client ]# mkdir -p /usr/local/tomcat/xxoo/ROOT

创建页面

[root@client ]# echo xxxxxxooooooooo > /usr/local/tomcat/xxoo/ROOT/index.html
[root@client ]# echo xoxoxoxoxoxoxoxo > /usr/local/tomcat/xoxo/ROOT/index.html

关闭/启动服务

[root@client ]# /usr/local/tomcat/bin/shutdown.sh 
[root@client ]# /usr/local/tomcat/bin/startup.sh

配置本地解析

修改/etc/hosts文件,实现本地解析

[root@client tomcat]# vim /etc/hosts

192.168.0.11 www.xxoo.com
192.168.0.11 www.xoxo.com

访问测试

[root@client tomcat]# curl http://www.xxoo.com:8080 //注意访问端口
显示:xxxxxxoooooooo
[root@client tomcat]# curl http://www.xoxo.com:8080
显示:xoxoxoxoxoxoxox


修改网站默认首页路径

[root@client ]# vim /usr/local/tomcat/conf/server.xml



.. ..
<Host name=”www.xoxo.com” appBase=”xoxo”
unpackWARs=”true” autoDeploy=”true”>
//更改首页路径

.. ..

关闭服务

[root@client tomcat]# /usr/local/tomcat/bin/shutdown.sh

启动服务

[root@clienttomcat]#/usr/local/tomcat/bin/startup.sh

创建首页目录

[root@client ]# mkdir /usr/local/tomcat/xoxo/haha

创建网页文件

[root@client ]# echo  hahahaha > /usr/local/tomcat/xoxo/haha/index.html

访问测试

[root@client tomcat]# curl http://www.xoxo.com:8080

hahahaha

Tomcat配置SSL加密网站

创建加密私钥/证书文件

[root@client ~]# keytool  -genkeypair  -alias tomcat  -keyalg  RSA -keystore /usr/local/tomcat/keystore

-genkeypair 生成密钥对
-alias tomcat 密钥别名
-keyalg RSA 密钥算法为RSA
-keystore 定义密钥文件存储位置 /usr/local/tomcat/keystore

修改配置文件,创建支持加密连接的Connector

[root@client tomcat]# vim conf/server.xml

<Connector port=”8443” protocol=”org.apache.coyote.http11.Http11NioProtocol”
maxThreads=”150” SSLEnabled=”true” scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS”
keystoreFile=”/usr/local/tomcat/keystore” keystorePass=”123456” />

关闭/启动服务

[root@client ]# /usr/local/tomcat/bin/shutdown.sh 
[root@client ]# /usr/local/tomcat/bin/startup.sh

浏览器访问测试:https://192.168.0.11:8443

Tomcat日志

为每个虚拟主机设置不同的日志文件

[root@client tomcat]# vim conf/server.xml

<Host name=”www.xoxo.com” appBase=”xoxo”
unpackWARs=”true” autoDeploy=”true”>

<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
prefix=”xoxo_log” suffix=”.txt”
pattern=”%h %l %u %t "%r" %s %b” />

提示:红字标注的字段在配置文件里边有,复制到虚拟主机里边修改即可

关闭/启动服务

[root@client ]# /usr/local/tomcat/bin/shutdown.sh 
[root@client ]# /usr/local/tomcat/bin/startup.sh

查看日志文件

[root@clienttomcat]# ls logs/

xoxo_log.2020-07-09.txt

实验:通过Nginx调度器调度后台tomcat服务

环境准备:

     1. **准备两台服务器当作Tomcat服务器**
     1. **tomcat1**
     1. **tomcat2**
     1. **关闭防火墙、关闭SELinux**


配置Tomcat服务器

第一台tomcat服务器用上边实验机,接下来配置第二台服务器
tomcat2主机操作:

[root@tomcat2 lnmp_soft]# cd lnmp_soft/
[root@tomcat2 lnmp_soft]# tar -xf apache-tomcat-8.0.30.tar.gz  //解压软件包
[root@tomcat2 lnmp_soft]# mv apache-tomcat-8.0.30 /usr/local/tomcat  //移动到/usr/local
[root@tomcat2 ~]# yum -y install java-1.8.0-openjdk.x86_64  //安装openjdk
[root@tomcat2 ~]# echo tomcat2 > /usr/local/tomcat/webapps/ROOT/index.jsp  //修改默认首页
[root@tomcat2 tomcat]# curl http://192.168.0.24:8080  //访问测试
tomcat2

配置Nginx调度器

修改nginx配置文件

[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
.. ..
http {
.. ..
upstream webserver {  //定义集群
server 192.168.0.11:8080;  //指定后台服务器地址:端口
server 192.168.0.24:8080;  
}
server {
listen       80;
server_name  localhost;
location / {
proxy_passhttp://webserver;  //调用集群
root   html;
index  index.html index.htm;
}
}

启动nginx服务

[root@proxy ~]# nginx

为了更好的验证,修改tomcat1服务器的默认首页

[root@tomcat1 ~]# echo tomcat1 > /usr/local/tomcat/webapps/ROOT/index.jsp

通过浏览器访问测试

http://192.168.0.22