我是靠谱客的博主 等待水池,最近开发中收集的这篇文章主要介绍LNAMT的搭建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

LNAMT:
Client --> http -->nginx--> httpd --> reverse_proxy_module (http) --> tomcat (http connector)
LNAMT拓扑图:
LNAMT的搭建
一、安装与配置tomcat

1.yum install tomcat,直接用yum仓库安装tomcat。
2.rpm -ql tomcat 查看安装目录,主配置文件在/etc/tomcat中。
3.tomcat的配置文件介绍:
        server.xml:主配置文件;
        context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp
                                                程序目录下的WEB-INF目录中,用于定义会话管理顺、JDBC等 ;
                                                    conf/context.xml是为各webapp提供默认配置;
        web.xml:每个webapp只有在“部署”之后才能够被访问;此文件则用于为各webapps
                                        定义默认的部署操作方式; 
        tomcat-users.xml:用户认证的账号和密码配置文件;
        catalina.policy:当使用-security选项来启动tomcat实例时会读取此配置文件来实现基
                                                            于安全策略的运行方式;
        catalina.properties:Java属性的定义文件,用于设定类加载器路径等 ,以及一些与
                                                                        JVM性能相关的调优参数;
        logging.properties:日志系统相关的配置;
        4./etc/tomcat/server.xml 主配置文件结构。
        <server>
            <service>
                <connector/> 配置连接器
                <engine>
                    <host/>相当于httpd虚拟机配置选项
                    <host>
                        <context/>相当于httpd的location配置url的选项
                    </host>
                </engine>
            </service>
        </server>
         5.其他配置基本不用修改,定义一个新的tomcat虚拟机,另外一台机的配置见图片。
         </Host>
    <Host name="web1.magedu.com" appBase="/data/webapps" unpackWARs="true" autoDeploy="false">
    <Context path="" docBase="/data/webapps" reloadable="true" />
    <Context path="/root" docBase="ROOT" reloadable="true" >
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
            deny="192.168.130.130"/>
    </Context>
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="web1_access_log." suffix=".txt"
           pattern="%h %l %u %t "%r" %s %b" />
    </Host>

LNAMT的搭建

    6.配置完之后开启tomcat功能记得清空防火墙iptables -F,关闭SElinux用setenforce 0,
    尤其是nginx必须地关闭SElinux,否则将代理不到tomcat。
    7.配置完文件后需要创建/data/webapps/两文件夹,除此之外要想tomcat能正常访问
    还需要在每个tomcat的被访问目录下创建如下空目录(见图)。
    classes   lib  META-INF  WEB-INF

LNAMT的搭建

    8.在webapps下创建一个index.jsp文件,用于被访问,内容见下面,另外一台机内容见图片
<%@page language="java" %>
<html>
    <head><title>TomcatA</title></head>
    <body>
<h1><font color="blue">TomcatA.magedu.com</font></h1>
<table align="centre" border="1">
  <tr>
    <td>Session ID</td>
<% session.setAttribute("magedu.com","magedu.com"); %>
    <td><%= session.getId() %></td>
            </tr>
            <tr>
                <td>Created on</td>
                <td><%= session.getCreationTime() %></td>
         </tr>
        </table>
    </body>
</html>

LNAMT的搭建

二、配置httpd做为本机的tomcat做反代

    1.只需在httpd的配置文件/etc/httpd/conf/httpd.conf(在centos6下编辑的虚拟机规则)下
    编写一个虚拟机便可反代到tomcat,另外一个主机(为centos7虚拟机不在主配置下编写,
    二十在conf.d创建一个新文件 如vim /etc/httpd/conf.d/vhost.conf)的配置见图
    <VirtualHost *:80>
    ServerName web1.magedu.com   名称应该起跟tomcat域名不一样的,这里只是懒改
    ProxyVia on   
    ProxyRequests off                     下面启用proxy_pass后必须将其关闭
    ProxyPreserveHost off   是否将对此虚拟机的请求(比如说域名)直接交给后端主机
    <Proxy *>
                        order allow,deny           注意此处定义允许谁来代理与centos7 是不一样的
          allow from all
    </Proxy>
            ProxyPass / http://web1.magedu.com:8080/    
    ProxyPa***everse / http://web1.magedu.com:8080/
    <Location />
            order allow,deny
            allow from all
    </Location>
</VirtualHost>

LNAMT的搭建

2.配置完httpd后,因为tomcat中的host是基于域名的,当本机httpd做反代是
用tomcat域名定义的,因此httpd要想能访问到tomcat需先解析域名因此需要
在两台主机/etc/hosts中分别添加
192.168.130.130 web2.magedu.com
192.168.130.128 web1.magedu.com
3.定义完之后可以启动tomcat与httpd服务,请求服务是否可正常访问,效果见图。

LNAMT的搭建

三、配置nginx服务

1.为不与原来nginx的默认注意冲突,nginx的虚拟机仍然是用192.168.130.100
的ip地址,但是监听的端口改为是8080,配置如下
     upstream tomcat {
            ip_hash;                                            基于ip的 session sticky
            server 192.168.130.128:80;              TomcatA
            server 192.168.130.130:80;              TomcatB
}
server {
    listen          192.168.130.100:8080;
    server_name     www.luomaozhang.com;
    root            /var/www/html;
    location / {
            proxy_pass http://tomcat;
    }
}

2.启动nginx服务,记得关闭防火墙,SElinux,测试效果见图。

LNAMT的搭建

3.就此LNAMT搭建完成,另外会话保持还可以用httpd结合tomcat做成tomcat lb cluster。

转载于:https://blog.51cto.com/14055961/2353979

最后

以上就是等待水池为你收集整理的LNAMT的搭建的全部内容,希望文章能够帮你解决LNAMT的搭建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部