47-Tomcat集群部署

环境准备
java环境JRE和JDK的区别:
	jre是Java的运行环境,包含jvm
	jdk是Java的开发环境,会包含Java的运行环境jre
	如果说单纯的运行Java代码,只需要jre足够,但如果需要提供开发环境以及运行环境则需要JDK
JDK--->jre--->jvm

在这里插入图片描述

Tomcat:
	Tomcat和Nginx类似,都是web服务器软件只不过tomcat是基于Java开发的web服务器。主要解析Java代码。
	Nginx仅支持静态资源解析,而Tomcat支持解析Java开发的web应用,还支持解析静态资源(效率不高)
	Nginx适合做前端负载均衡,Tomcat适合做后端应用服务处理。
	
通常情况下企业使用Nginx+Tomcat结合,Nginx处理静态资源,Tomcat处理动态资源
Tomcat快速安装
安装JDK
yum install java -y
或者上传rpm包
rpm -ivh  jdk....rpm
查看是否安装成功
[root@web01 ~]# rpm -qa|grep jdk
jdk1.8-1.8.0_181-fcs.x86_64
安装Tomcat
下载Tomcat
[root@web01 soft]# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.89/bin/apache-tomcat-9.0.89.tar.gz --no-check-certificate
[root@web01 soft]# mkdir /soft
[root@web01 soft]# tar xf apache-tomcat-9.0.89.tar.gz -C /soft/
[root@web01 soft]# ln -s /soft/apache-tomcat-9.0.89/ /soft/tomcat
[root@web01 soft]# cd /soft/
[root@web01 soft]# ll
total 0
drwxr-xr-x 9 root root 220 May 10 16:13 apache-tomcat-9.0.89
lrwxrwxrwx 1 root root  27 May 10 16:14 tomcat -> /soft/apache-tomcat-9.0.89/

[root@web01 soft]# /soft/tomcat/bin/startup.sh  #脚本启动Tomcat
Using CATALINA_BASE:   /soft/tomcat
Using CATALINA_HOME:   /soft/tomcat
Using CATALINA_TMPDIR: /soft/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /soft/tomcat/bin/bootstrap.jar:/soft/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@web01 soft]# netstat -tunlp
服务端口8080
[root@web01 soft]# ll tomcat/
total 132
drwxr-x--- 2 root root  4096 May 10 16:13 bin	#启停脚本
-rw-r----- 1 root root 20913 May  4 04:22 BUILDING.txt
drwx------ 2 root root   238 May  4 04:22 conf
-rw-r----- 1 root root  6210 May  4 04:22 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 May 10 16:13 lib	#库文件
-rw-r----- 1 root root 57092 May  4 04:22 LICENSE
drwxr-x--- 2 root root     6 May  4 04:22 logs	#日志存放位置
-rw-r----- 1 root root  2333 May  4 04:22 NOTICE
-rw-r----- 1 root root  3283 May  4 04:22 README.md
-rw-r----- 1 root root  6901 May  4 04:22 RELEASE-NOTES
-rw-r----- 1 root root 16505 May  4 04:22 RUNNING.txt
drwxr-x--- 2 root root    30 May 10 16:13 temp	#临时目录
drwxr-x--- 7 root root    81 May  4 04:22 webapps	#部署代码位置。里边的ROOT目录是存放代码的目录。
drwxr-x--- 2 root root     6 May  4 04:22 work

配置systemc方式启动Tomcat
[root@web01 soft]# cat >/usr/lib/systemd/system/tomcat.service<<'EOF'
> [Unit]
> Description=Apache Tomcat Server
> After=network.target remote-fs.target nss-lookup.target
> [Service]
> Type=forking
> ExecStart=/soft/tomcat/bin/startup.sh
> ExecStop=/soft/tomcat/bin/shutdown.sh
> ExecRetart=/soft/tomcat/bin/shutdown.sh  && sleep2  && /soft/tomcat/bin/startup.sh
> [Install]
> WantedBy=multi-user.target
> EOF

[root@web01 soft]# vim /usr/lib/systemd/system/tomcat.service 
[Unit]
Description=Apache Tomcat Server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/soft/tomcat/bin/startup.sh
ExecStop=/soft/tomcat/bin/shutdown.sh
ExecRestart=/soft/tomcat/bin/shutdown.sh  && sleep2  && /soft/tomcat/bin/startup.sh

[Install]
WantedBy=multi-user.target


[root@web01 soft]# systemctl daemon-reload	#重载生效

[root@web01 ~]# systemctl stop tomcat
[root@web01 ~]# systemctl start tomcat
[root@web01 ~]# systemctl restart tomcat
[root@web01 ~]# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /usr/lib/systemd/system/tomcat.service.

配置文件
tomcat软件目录结构:

bin           ---主要包含启动和关闭tomcat的脚本(启停java脚本依赖jar包文件)
conf            ---tomcat配置文件的目录(站点配置:server.xml)
lib           ---tomcat运行时需要加载的jar包
logs            ---tomcat日志存放位置
temp            ---tomcat临时存放文件路径
webapps       ---tomcat默认站点目录
work            ---tomcat运行时产生的缓存文件
conf/server.xml主配置文件
[root@web01 conf]# cat server.xml 
<?xml version="1.0" encoding="UTF-8"?>

<Server port="8005" shutdown="SHUTDOWN">
  <!--监听器-->
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<!--全局资源限制-->
  <GlobalNamingResources>
 
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>


  <Service name="Catalina">
<!--连接器-->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />
  
    <!--引擎-->
    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
    
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

     <!--虚拟主机-->
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>
Tomcat请求过程

在这里插入图片描述

配置虚拟机主机
cat  /soft/tomcat/conf/server.xml
...

<Host name="diy.etiantian.org"  appBase="/code/tomcat"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="etiantian" suffix=".log"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

[root@web01 conf]# mkdir /code/tomcat/ROOT -p
[root@web01 conf]# echo etiantian.org > /code/tomcat/ROOT/index.html
[root@web01 conf]# systemctl restart tomcat


配置Windows hosts劫持
访问:
http://diy.etiantian.org:8080/index.html
搭建zrlog博客
<Host name="zrlog.oldboy.com"  appBase="/code/zrlog"
            unpackWARs="true" autoDeploy="true">
    
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="zrlog" suffix=".log"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
      
[root@web01 conf]# mkdir -p /code/zrlog/ROOT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

atomLg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值