概述
LNAMT:
Client --> http -->nginx--> httpd --> reverse_proxy_module (http) --> tomcat (http connector)
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>
6.配置完之后开启tomcat功能记得清空防火墙iptables -F,关闭SElinux用setenforce 0,
尤其是nginx必须地关闭SElinux,否则将代理不到tomcat。
7.配置完文件后需要创建/data/webapps/两文件夹,除此之外要想tomcat能正常访问
还需要在每个tomcat的被访问目录下创建如下空目录(见图)。
classes lib META-INF WEB-INF
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>
二、配置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>
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服务,请求服务是否可正常访问,效果见图。
三、配置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,测试效果见图。
3.就此LNAMT搭建完成,另外会话保持还可以用httpd结合tomcat做成tomcat lb cluster。
转载于:https://blog.51cto.com/14055961/2353979
最后
以上就是等待水池为你收集整理的LNAMT的搭建的全部内容,希望文章能够帮你解决LNAMT的搭建所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复