zoukankan      html  css  js  c++  java
  • CentOS7中Tomcat服务的安装与配置

    一、Linux下的Java运行环境

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

    JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(软件开发工具包)。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。

    二、CentOS支持的JDK

    在CentOS 7 中,既可以安装开源的OpenJDK,也可以安装Oracle的Java SE(JDK)。通常CentOS 7官方仓库提供的开源的openjdk对于Java应用程序已经够用了,但是国内的开发者通常使用Windows平台上的Java SE进行开发,为了保证生产服务器和开发者计算机上的环境相一致,也可以在Linux上安装Oracle的Java SE。

    三、Tomcat服务简介

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。因为Tomcat技术先进、性能稳定而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

    Tomcat不仅仅是一个Java容器,同时也具有传统的Web服务器的功能:处理HTML页面,但是与Apache/Nginx相比,其处理静态HTML的能力不如Apache/Nginx,通常可以将Tomcat和Apache/Nginx集成到一起,让Apache/Nginx处理静态HTML,而让Tomcat处理JSP和Java。

    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(.jsp)。
    用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

    [官方网站:](http://tomcat.apache.org/)

    Tomcat虽然可以跑jsp网页,通常不会使用它作为web服务器,而是作为中间件。

    四、Tomcat服务的搭建与配置

    如果你的系统已经安装了开发工具包,那么本机就已经有了java
    如果没有安装开发工具包,使用yum源命令安装

    英文系统安装: # yum -y groupinstall "Development tools"
    中文系统安装: # yum -y groupinstall "开发工具"

    1. 验证java版本

    [root@Tomcat ~]# java -version
    openjdk version "1.8.0_161"
    OpenJDK Runtime Environment (build 1.8.0_161-b14)
    OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

    2. 安装Java和Tomcat

    在这里系统自带的java我们不使用,我们使用下载的最新版java版本。因为jdk是java程序运行的环境,解压即能用,不需要修改。

    Java官网:https://www.oracle.com/java/technologies/javase-downloads.html

    第一步:下载、解压安装jdk
    [root@Tomcat ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz
    解压:
    [root@Tomcat ~]# tar xvf jdk-8u161-linux-x64.tar.gz
    -C /usr/local
     
    第二步:更改解压后的名称,方便识别 [root@Tomcat
    ~]# mv /usr/local/jdk1.8.0_161/ /usr/local/java/
    第三步:下载、解压安装tomcat [root@Tomcat
    ~]# wget
    https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.35/bin/apache-tomcat-9.0.35.tar.gz
    解压:(mkdir Tomcat)
    [root@Tomcat ~]# tar xvf apache-tomcat-9.0.35.tar.gz -C /usr/local/tomcat/
    改名:
    [root@Tomcat ~]# mv /usr/local/apache-tomcat-9.0.35/ /usr/local/tomcat/

      解压完整后删除安装包:

      rm -rf apache-tomcat-9.0.35.tar.gz

    3. Tomcat 目录结构说明

    [root@Tomcat ~]# cd /usr/local/tomcat/
    [root@Tomcat tomcat]# ls
        bin             --启动命令目录
        conf           --配置文件目录      *重点
        lib              --库文件目录
        logs           --日志文件目录      *重点
        temp         --临时缓存文件
        webapps  --web应用家目录    *重点
        work         --工作缓存目录

    4. 修改Tomcat环境变量

    Tomcat是需要jdk才能运行,上面解压安装后,还需要在tomcat里配置jdk的目录
    
    修改tomcat环境变量有三种方法:
    第一种:定义在全局里;如果装有多个JDK的话,定义全局会冲突,不建议
    [root@Tomcat ~]# vim /etc/profile
    第二种:写用户家目录下的环境变量文件.bash_profile 第三种:是定义在单个tomcat的启动和关闭程序里,建议使用这种 [root@Tomcat
    ~]# vim /usr/local/tomcat/bin/startup.sh --tomcat的启动程序 [root@Tomcat ~]# vim /usr/local/tomcat/bin/shutdown.sh --tomcat的关闭程序

    vim ./bin/startup.sh
    vim ./bin/shutdown.sh
    把startup.sh和shutdown.sh这两个脚本里的最前面加上下面一段:
    export JAVA_HOME=/usr/java
    export TOMCAT_HOME=/usr/tomcat
    export CATALINA_HOME=/usr/tomcat
    export CLASS_PATH=$JAVA_HOME/binb:$JAVA_HOME/jreb:$JAVA_HOMEb/tool.jar
    export PATH=$PATH:/usr/java/bin:/usr/tomcat/bin

    CentOS 7 Tomcat服务的安装与配置

    classpath是指定你在程序中所使用的类(.class)文件所在的位置。
    path是系统用来指定可执行文件的完整路径。

    5. 启动Tomcat

    前面安装和配置好后,下面就可以启动了,启动时会有下面这一段输出。
    
    [root@Tomcat ~]# /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/java
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Tomcat started.
    查看端口,tomcat默认是8080端口:
    [root@Tomcat ~]# lsof -i:8080
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    java    31259 root   49u  IPv6 465528      0t0  TCP *:webcache (LISTEN)
    
    关闭tomcat方法:
    [root@Tomcat ~]# /usr/local/tomcat/bin/shutdown.sh
    使用浏览器打开测试: [root@Tomcat ~]# firefox http://192.168.1.20:8080/ 可以看到如下界面

    CentOS 7 Tomcat服务的安装与配置

    6. 修改Tomcat监听端口

    [root@Tomcat ~]# vim /usr/local/tomcat/conf/server.xml
     69     <Connector port="80" protocol="HTTP/1.1"               ----把8080改成80的话,重启后就监听80端口
     70                connectionTimeout="20000"
     71                redirectPort="8443" />

    7. 目录布署

    Tomcat的数据目录(网站家目录):

    /usr/local/tomcat/webapps/ROOT/

    把test目录与ROOT同级或者是在ROOT的下一级都是可行的
    [root@Tomcat ~]# mkdir /usr/local/tomcat/webapps/test         --目录名字可自定义
    
    [root@Tomcat ~]# vim /usr/local/tomcat/webapps/test/index.jsp   --自定义页面内容,如下面的话(不要写中文)
    welcome to here!

    备注:
    接下来的部署过程和在windows下完全一-样 了,我们先把Tomcat服务关闭。然后将myeclipse中的项目打包成war包,然后.上传到Linux虚拟机中。使用mv命令将文件移动到Tomcat下的webapps文件夹下,进入Tomcat下的bin文件夹,启动Tomcat,项目压缩包自动解压。项目部署成功。就可以通过浏览器访问项目。 

    8. 使用浏览器打开网页进行测试

    [root@Tomcat ~]# firefox http://192.168.1.20/test/            --这个是端口改为80的打开浏览器网页的方法
    [root@Tomcat ~]# firefox http://192.168.1.20:8080/test/     --这个是端口为8080的打开浏览器网页的方法

    CentOS 7 Tomcat服务的安装与配置

    五、搭建Java应用系统

    1. 环境介绍

    linux + apache + php + mysql --lamp环境 这是php环境
    linux + nginx + php + mysql --lnmp环境 这是php环境
    linux + tomcat + jsp + mysql --ljtm环境 这是java环境

    2. 软件包

    jdk-8u161-linux-x64.tar.gz --java包
    apache-tomcat-9.0.5.tar.gz --tomcat包
    mysql-connector-java-5.1.45.tar.gz --tomcat连接mysql的工具包
    jsprun_6.0.0_GBK.zip --java语言开发的应用系统(网上可以自行下载)

    3. 开始部署

    第一步:解压应用系统

    解压应用系统:
    [root@Tomcat ~]# unzip jsprun_6.0.0_GBK.zip -d /usr/Tomcat/webapps/
    更改名称:
    [root@Tomcat ~]# cd /usr/Tomcat
    [root@Tomcat tomcat]# mv ./webapps/JspRun!_6.0.0_GBK/ ./webapps/jsprun/
    移动应用至前面文件夹:
    [root@Tomcat tomcat]# cd /usr/Tomcat/webapps/jsprun/
    [root@Tomcat jsprun]# mv upload/* ./

    第二步:下载、解压java连接mysql的工具包

    [root@Tomcat ~]# wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz
    [root@Tomcat ~]# tar xvf mysql-connector-java-5.1.45.tar.gz -C /usr/src/
    解压后,把连接工具拷到tomcat的应用目录
    [root@Tomcat ~]# cd /usr/src/mysql-connector-java-5.1.45/
    [root@Tomcat mysql-connector-java-5.1.45]# cp /usr/src/mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar  /usr/Tomcat/webapps/jsprun/WEB-INF/

    第三步:安装mysql数据库(注意:CentOS 7版本开始,系统自带的数据库为mariadb,已经舍弃mysql数据库)

    [root@Tomcat ~]# yum -y install mariadb*
    [root@Tomcat ~]# id mysql
    uid=27(mysql) gid=27(mysql) 组=27(mysql)
    
    如果没有mysql这个用户,手工创建一个mysql用户
    [root@Tomcat ~]# groupadd -g 27 mysql
    [root@Tomcat ~]# useradd -u 27 mysql -g mysql
    
    启动数据库
    [root@Tomcat ~]# systemctl restart mariadb
    
    登陆数据库,创建java应用所需要的帐号和库
    [root@Tomcat ~]# mysql                  # 登录数据库
    MariaDB> create database bbs;      # 创建bbs库
    MariaDB> show databases    ;          # 查看所有库
    MariaDB> grant all on bbs.* to 'bbs'@'localhost' identified by '123';      # 授权
    
    MariaDB> flush privileges;            # 刷新
    MariaDB> select user,host,password from mysql.user;    # 查看user表允许登录的用户

    第五步:修改java应用配置连接数据库

    [root@Tomcat ~]# vim /usr/local/tomcat/webapps/jsprun/config.properties
    dbhost = localhost    # 修改数据库地址
    dbport=3306           # 端口
    dbuser = bbs        # 连接用户名
    dbpw = 123          # 密码
    dbname = bbs        # 库名
    pconnect = 0          # 持久连接
    
    tablepre = jrun_
    database = mysql
    dbcharset =
    charset = gbk
    headercharset = 0
    tplrefresh = 1      # 风格模板自动刷新开关
    version=5.1

    第六步:重启tomcat才能生效

    [root@Tomcat ~]# /usr/local/tomcat/bin/shutdown.sh        --关闭omcat
    Using CATALINA_BASE:   /usr/local/tomcat
    Using CATALINA_HOME:   /usr/local/tomcat
    Using CATALINA_TMPDIR: /usr/local/tomcat/temp
    Using JRE_HOME:        /usr/local/java
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    
    [root@Tomcat ~]# /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/java
    Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
    Tomcat started.

    第七步:使用浏览器打开访问安装

    [root@Tomcat ~]# firefox http://192.168.1.20:8080/jsprun/install.jsp      --注意这里后面的jsprun和install.jsp要自己输出来(如果没有改端口的话还要加上端口)

    CentOS 7 Tomcat服务的安装与配置
    然后按照图形指引安装步骤下一步即可。

    六、模块调度举例

    1. 使用 Apache 的 ajp 模块调用进行调度后面两台 Apache

    CentOS 7 Tomcat服务的安装与配置
    第一步:先在调度机上的 apache 配置

    [root@Apache ~]# yum -y install httpd*
    [root@Apache ~]# vim /etc/httpd/conf.d/proxy_ajp.conf            # 注意,centos 7下没有这个文件,但是也是支持 proxy_ajp 的,所以自己建立一个这个文件就可以了
    ProxyPass /apache balancer://apache/     # 定义一个负载调度的名字,这个 apache 后面要加/,否则 就只能调网站家目录的主页,而不能调家目录的其它文件
    <Proxy balancer://apache/>
    BalancerMember http://10.1.1.128        # 成员 128
    BalancerMember http://10.1.1.129        # 成 员 129 , 如 果 129 的 端 口 为 8080 , 则 就 写 http://10.1.1.129:8080 就可以了
    </Proxy>
    
    [root@Apache ~]# systemctl restart httpd.service       --启动Apache

    扩展一:

    ProxyPass /apache balancer://apache/ # proxypass 后面不是/,而是/tomcat
    <Proxy balancer://apache/>
    BalancerMember http://10.1.1.128
    BalancerMember http://10.1.1.129:8080
    </Proxy>
    这样实现的是当客户端访问 http://192.168.1.200/apache 时才会调度,如果访问 http://192.168.1.200 的话,则还是 192.168.1.200 上的网站

    扩展二:

    实现访问 http://192.168.1.200/apache/调度给 128 和 129:8080
    访问 http://192.168.1.200/test/调度给 130 和 131:8081
    访问 http://192.168.1.200 的话,则还是访问 192.168.1.200

    ProxyPass /apache balancer://apache/
    <Proxy balancer://apache/>
    BalancerMember http://10.1.1.128
    BalancerMember http://10.1.1.129:8080
    </Proxy>
    ProxyPass /abc balancer://test/
    <Proxy balancer://test/>
    BalancerMember http://10.1.1.130
    BalancerMember http://10.1.1.131:8081

    第二步:在两台后台 web 服务器上也安装 httpd,并做一个不同的主页方便测试

    128 上操作:
    [root@Apache1 ~]# yum -y install httpd*
    [root@Apache1 ~]# echo 128 > /var/www/html/index.html
    
    在 129 上操作:
    [root@Apache2 ~]# yum -y install httpd*
    [root@Apache2 ~]# echo 129 > /var/www/html/index.html

    第三步: 在Apache调度机上访问 http://192.168.1.20/apache ,就可以实现调度

    2. 使用 Apache 的 ajp 模块调用进行调度后面两台 Tomcat

    CentOS 7 Tomcat服务的安装与配置
    第一步: 先在 Apache 调度机上配置

    [root@Apache ~]# yum -y install httpd*
    [root@Apache ~]# vim /etc/httpd/conf.d/proxy_ajp.conf
    ProxyPass /tomcat balancer://tomcat/                 # 定义一个调度,随便写
    <Proxy balancer://tomcat/>
    BalancerMember ajp://10.1.1.128:8009/ route=tomcat1       # 定义消息路由,名字自定义 BalancerMember ajp://10.1.1.129:8009/ route=tomcat2
    </Proxy>
    
    [root@Apache ~]# systemctl restart httpd.service       --启动Apache

    第二步:分别在被调度机 Tomcat 上加上消息路由

    128 上的 Tomcat1 上操作:
    [root@Tomcat1 ~]# vim /usr/local/tomcat/conf/server.xml
    128 <Engine name="Catalina"defaultHost="localhost" jvmRoute="tomcat1">
    # 在 128 的 tomcat 这一句后面加上 jvmRoute="tomcat1",名字和调度机上的对应
    [root@Tomcat1 ~]# /usr/local/tomcat/bin/shutdown.sh
    [root@Tomcat1 ~]# /usr/local/tomcat/bin/startup.sh
    
    在 129 上的 Tomcat2 上操作:
    [root@Tomcat2 ~]# vim /usr/local/tomcat/conf/server.xml
    128 <Engine name="Catalina"defaultHost="localhost" jvmRoute="tomcat2">
    # 在 128 的 tomcat 这一句后面加上 jvmRoute="tomcat2",名字和调度机上的对应
    [root@Tomcat2 ~]# /usr/local/tomcat/bin/shutdown.sh
    [root@Tomcat2 ~]# /usr/local/tomcat/bin/startup.sh

    第三步:在 Apache 调度机上访问 http://192.168.1.20/tomcat ,就可以实现调度

    1)它支持健康检查,当一台挂掉,就不调度它,当它 OK 了,需要对 apache reload 一下,才能再重新都调度两台。
    (2)tomcat1 和 tomcat2 监听的端口是 80 还是 8080 都可以,因为是由 8009 调过来的。
    (3)在两台的tomcat的index.jsp 主页里做两个不同的标记:
    
    在 128 上的 Tomcat1 上操作:
    [root@Tomcat1 ~]# echo 128 >> /usr/local/tomcat/webapps/ROOT/index.jsp
    
    在 129 上的 Tomcat2 上操作:
    [root@Tomcat2 ~]# echo 129 >> /usr/local/tomcat/webapps/ROOT/index.jsp
    最后,在 Apache 调度机上访问 http://192.168.1.20/tomcat ,就可以实现调度,看到效果。

    3. mod_jk 结合 Apache+Tomcat 实现负载均衡,动静分离

    CentOS 7 Tomcat服务的安装与配置
    在完成两台Tomcat1,Tomcat2的安装之后,实现负载均衡,使用mod_jk可以实现节点的故障恢复功能,即一个节点出现问题,mod_jk会其不参与负载,在节点故障恢复后,mod_jk会让其参与负载,对此节点是否失败,对用户而言是透明的。

    实现流程:

    • (1)用户访问数据达到Apache后,如果是静态内容,Apache立即回应;
    • (2)如果Apache发现用户请求的是动态内容如jsp,就将请求丢给其中的一台tomcat来处理。
    • (3)每次用户重复访问时,都被分配到同一台机器上(可以做会话粘滞或是会话复制)

    负责负载均衡的主要是由一个配置文件完成!那就是workers.propertise。通过定义worker.list,port,host,type,lbfactor的值来定义每一台Tomcat的主机;通过lbfactor来区别每台机器的权重,权重数值越大得到的用户请求数就越多。所以,只要重点关注这个文件的内容就行了。

    第一步:实验前准备写/etc/hosts记录

    [root@Apache ~]# echo "10.1.1.1 Apache.com" >> /etc/hosts
    [root@Apache ~]# echo "10.1.1.128 Tomcat1.com" >> /etc/hosts
    [root@Apache ~]# echo "10.1.1.129 Tomcat2.com" >> /etc/hosts
    [root@Apache ~]# scp /etc/hosts 10.1.1.128:/etc/hosts    --远程拷贝 /etc/hosts 文件到128机子
    [root@Apache ~]# scp /etc/hosts 10.1.1.129:/etc/hosts    --远程拷贝 /etc/hosts 文件到129机子

    时间同步:详见CentOS 7.3 Xinetd服务的安装与配置(https://blog.51cto.com/13525470/2060765)
    关闭 iptables,selinux

    第二步:在 Tomcat1 和 Tomcat2 上安装好 Tomcat
    详见上面部分

    第三步:在 Apache调度机上安装 Apache,下面是源码版的做法

    如果以前编译过 Apache,先使用下面两条命令把源码和安装路径全删除
    [root@Apache ~]# rm -rf /usr/src/httpd-2.4.28/
    [root@Apache ~]# rm -rf /usr/local/apache2/
    [root@Apache ~]# tar xf httpd-2.4.28.tar.bz2 -C /usr/src    --解压编译安装
    [root@Apache ~]# cd /usr/src/httpd-2.4.28/
    [root@Apache ~]# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-modules=all --enable-mods-shared=all --with-mpm=prefork
    [root@Apache ~]# make && make install
    上面的编译参数,可以不加--enable-proxy,--enable-proxy-ajp,--enable-proxy-balancer。因为,我们这里是使用 mod_jk 的。

    第四步:在 Apache 调度机上编译 mod_jk 模块

    [root@Apache ~]# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.42-src.tar.gz
    http://tomcat.apache.org/download-connectors.cgi    --上面的包(mod_jk)下载地址
    [root@Apache ~]# tar xf tomcat-connectors-1.2.42-src.tar.gz -C /usr/src/
    [root@Apache ~]# cd /usr/src/tomcat-connectors-1.2.42-src/
    [root@Apache ~]# ls --这里面 conf 里有配置的模版,native 目录里可以与 apache 的 apxs 指令编译出 mod_jk 模块
    conf  HOWTO-RELEASE.txt  LICENSE  NOTICE      support  xdocs
    docs  jkstatus           native   README.txt  tools
    [root@Apache ~]# cd native/
    [root@Apache ~]# ./configure --with-apxs=/usr/local/apache2/bin/apxs    --源码版的编法
    [root@Apache ~]# make && make install
    [root@Apache ~]# ls /usr/local/apache2/modules/mod_jk.so       --编译后产生 mod_jk 模块

    第五步:配置 Apache 主配置文件,使其使用 mod_jk 的子配置文件

    [root@Apache ~]# vim /usr/local/apache2/conf/httpd.conf
    Include conf/extra/httpd-jk.conf          # 主配置文件加上这一句

    第六步:拷贝要用到的配置文件模版

    --拷贝 mod_jk 的配置文件模版到对应的 apache 配置目录
    [root@Apache ~]# cp /usr/src/tomcat-connectors-1.2.42-src/conf/httpd-jk.conf /usr/local/apache2/conf/extra/
    --拷贝定义调度的配置文件模版
    [root@Apache ~]# cp /usr/src/tomcat-connectors-1.2.42-src/conf/workers.properties /usr/local/apache2/conf/extra/
    --拷贝定义动静分离的配置文件模版
    [root@Apache ~]# cp /usr/src/tomcat-connectors-1.2.42-src/conf/uriworkermap.properties /usr/local/apache2/conf/extra/

    第七步:配置这三个配置文件

    [root@Apache ~]# vim /usr/local/apache2/conf/extra/httpd-jk.conf
    28  JkWorkersFile conf/extra/workers.properties        # 因为我拷到 conf/extra,所以这里改成对应的路径
    99  JkMountFile conf/extra/uriworkermap.properties                     # 打开注释
    115 SetEnvIf REQUEST_URI".(htm|html|css|gif|jpg|js)$"no-jk      # 打开注释
    
    <Location /jk-status>
    JkMountjk-status
    Orderdeny,allow
    Deny from all
    Allowfrom 127.0.0.1 192.168.1.20          # 加上允许 192.168.1.20 查看 jk-status
    </Location>
    <Location /jk-manager>
    JkMount jk-manager
    Order deny,allow
    Deny from all
    Allowfrom 127.0.0.1 192.168.1.20         # 加上允许 192.168.1.20 查看 jk-manager
    </Location>
    
    [root@Apache ~]# vim /usr/local/apache2/conf/extra/workers.properties
    worker.list=balancer
    worker.balancer.type=lb
    worker.balancer.balance_workers=node1  # 指定的后面被调度的jvmroute 
    worker.node1.reference=worker.template
    worker.node1.host=10.1.1.128            # 后面被调度的 tomcat 的 IP
    worker.node1.port=8009                       # 改成 8009
    worker.node1.activation=A
    
    worker.balancer.balance_workers=node2
    worker.node2.reference=worker.template
    worker.node2.host=10.1.1.129       # 另一台的 IP
    worker.node2.port=8009                   # 改为 8009
    worker.node2.activation=A
    worker.template.type=ajp13
    
    [root@Apache ~]# vim /usr/local/apache2/conf/extra/uriworkermap.properties
    /admin/*=balancer           # 这些目录下的所有文件都交给 balancer 去调度
    /manager/*=balancer
    /jsp-examples/*=balancer
    /servlets-examples/*=balancer
    /examples/*=balancer
    /*.jsp=balancer             # 表示 apache 家目录下*.jsp 就给 balancer 去进行后台两个 tomcat 的调度

    第八步:部署网站内容
    一个网站,在 Apache 和后台 Tomcat 的家目录里都要部署相同的内容,实际情况可以使用共享存储。
    我这里就把 Tomcat 里的内容拷过来
    要注意的是目录的对应
    我现在编译版 Apache 的家目录为默认的/usr/local/apache2/htdocs/

    所以我现在在 Tomcat1 上操作:
    把下面目录所有文件拷到 Apache 的家目录

    [root@Tomcat1 ~]# scp -r /usr/local/tomcat/webapps/ROOT/*  10.1.1.1:/usr/local/apache2/htdocs/

    第九步:配置两台 Tomcat 的 jvmroute

    在 Tomcat1 上操作
    [root@Tomcat1 ~]# vim /usr/local/tomcat/conf/server.xml
    <Engine name="Catalina"defaultHost="localhost"jvmRoute="node1">
    
    在 Tomcat2 上操作:
    [root@Tomcat2 ~]# vim /usr/local/tomcat/conf/server.xml
    <Engine name="Catalina"defaultHost="localhost"jvmRoute="node2">

    第十步:启动服务

    在1上的 Apache 上操作:
    [root@Apache ~]# /usr/local/apache2/bin/apachectl restart
    
    在 128 上的 Tomcat1 上操作:
    [root@Tomcat1 ~]# /usr/local/tomcat/bin/shutdown.sh
    [root@Tomcat1 ~]# /usr/local/tomcat/bin/startup.sh
    
    在 129 上的 Tomcat2 上操作:
    [root@Tomcat2 ~]# /usr/local/tomcat/bin/shutdown.sh
    [root@Tomcat2 ~]# /usr/local/tomcat/bin/startup.sh

    第十一步:测试

    1. 在客户端上的 firefox 直接访问 Apache http://192.168.1.20
      得到的是 Tomcat 的主页,因为我拷过来了。
      去 Apache 把/usr/local/apache2/htdocs/index.html 里的内容改一下
      去 Tomcat1 和 Tomcat2 把/usr/local/tomcat/webapps/ROOT/index.jsp 里的内容也简单改成不同
      再访问 http://192.168.1.20 会看到修改的内容
      再访问 http://192.168.1.20/index.jsp 会访问会调度到后台的两台 tomcat
    2. 访问 http://192.168.1.20/jk-status
    3. 访问 http://192.168.1.20/jk-manager
    4. 在 Tomcat 上安装 jsprun
      步骤省略

    最后:

    [root@Tomcat1 ~]# scp -r /usr/local/tomcat/webapps/jsprun/ apache.com:/usr/local/apache2/htdocs/

    再访问
    http://10.1.1.1/jsprun
    会看到所有的文件都以列表形式显示,因为默认 Apache 访问的主页为 index.html。所以 http://10.1.1.1/jsprun/index.jsp 访问,就可以访问 OK 了。

     本文参考:小左先森

  • 相关阅读:
    Keepalived详解(一):Keepalived介绍【转】
    Python运维开发基础06-语法基础【转】
    Python运维开发基础05-语法基础【转】
    Python运维开发基础04-语法基础【转】
    Python运维开发基础03-语法基础 【转】
    Python运维开发基础02-语法基础【转】
    Python运维开发基础01-语法基础【转】
    Shell编程中while与for的区别及用法详解【转】
    rsync+inotify实现实时同步案例【转】
    Linux查看压缩文件内容【转】
  • 原文地址:https://www.cnblogs.com/elfin/p/13042618.html
Copyright © 2011-2022 走看看