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 了。

     本文参考:小左先森

  • 相关阅读:
    vue form dynamic validator All In one
    TypeScript api response interface All In One
    closable VS closeable All In One
    macOS 如何开启 WiFi 热点 All In One
    vue css inline style All In One
    vs2010里面 新建网站里面的 asp.net网站 和 新建项目里面的 asp.net Web应用程序 的区别 (下)
    牛腩新闻 59 整合添加新闻页 FreeTextBox 富文本编辑器,检测到有潜在危险的 Request.Form 值,DropDownList 的使用
    牛腩新闻 61尾声: error.aspx的使用 防止报错
    vs2010里面 新建网站里面的 asp.net网站 和 新建项目里面的 asp.net Web应用程序 的区别 (上)
    牛腩新闻 62:尾声续2 asp.net的编译和发布
  • 原文地址:https://www.cnblogs.com/elfin/p/13042618.html
Copyright © 2011-2022 走看看