我们可能有这种场景:

集群环境下,多个web容器需要请求一个共享目录下的文件,比如保存图片或者录音文件,任意一个节点保存后其他节点需要及时获取,此时就需要目录进行同步了,否则Nginx负载到任意一个节点上请求文件时,找不到文件将返回404,这时候linux下可以用rsync处理,但是rsync双向同步有很多问题,在jekins环境下很多很多问题,不建议使用。

这里建议用nfs处理,或者用其他分布式文件系统如gfs或者ceph等,或者直接将这些文件放到cdn(看项目大小,财气是否够粗够硬),考虑文件很多性能问题建议cdn,其次gfs,ceph,最low的nfs处理吧。

处理分3个步骤:

1)安装nfs

2)配置nfs

3)配置tomcat 虚拟目录

1.1)安装nfs

  yum install nfs-utils portmap nfs4-acl-tools  (每个节点分别执行)

1.2)各自节点(tomcat所在linux)

  mkdir -p /data/nfs

  chown -R tomcat:tomcat /data/nfs

  chmod -R 777 /data/nfs

  以上3条命令每个节点分别执行

2.1)nfs server(只有一个server,选用一个节点,其他均为客户端)配置

  vi /etc/exports

  添加如下内容:

    /data/nfs *(rw,sync)

2.2)启动nfs服务

  centos redhat 5版本执行:

    service portmap restart

    service nfs restart

    

    让nfs随机启动:

      chkconfig portmap on

      chkconfig nfs on

  centos redhat 6版本执行:

    service rpcbind restart

    service nfs restart

    让nfs随机启动:

      chkconfig rpcbind on

      chkconfig nfs on

2.3)客户端挂载nfs文件系统

   a、关闭防火墙(各节点分别执行,或者添加iptables策略)

    service iptables stop

    chkconfig iptables off

   b、挂载nfs

     mount -t nfs 10.0.0.1:/data/nfs /data/nfs

     上面10.0.0.1为nfs server ip地址,上面这条命令各节点分别执行

   这时客户端节点执行df -h命令应该能看到nfs挂载点文件系统了

3.1)tomcat配置虚拟目录

  server.xml中添加host:

    <Context path="/mp3" docBase="/data/nfs" reloadable="true"></Context

以上tomcat就可以访问webapp(deploy目录)外的文件了,我们可以通过http://ip:端口/工程名/mp3/001.mp3访问我们的音频文件了,nginx不管分发到哪个节点tomcat都不会返回404了,因为任意一个节点往nfs目录下写文件实际上时写到nfs server文件系统上,其他tomcat节点均可以访问。

以上教程比较简易,如遇问题可以邮件跟我联系dba_xyx@hotmail 

分布式环境Tomcat多节点集群下共享目录配置,tomcat虚拟目录+nfs的更多相关文章

  1. nginx+tomcat+redis的集群+session共享

    nginx+tomcat+redis的集群+session共享 环境准备 1.tomcat版本:tomcat7 tomcat下载及安装,目前很多好的资源和步骤,此处省略. 2.jdk版本:jdk1.7 ...

  2. tomcat8.0.15+spring4.1.2的集群下共享WebSocketSession?

    环境:nginx+Tomcat服务器 A B C   问题:如果用户 1 访问由服务器 A socket服务  ,用户2 由服务器 C socket服务  ,此时如果用户 1, 2 想通过  sock ...

  3. Spring-3.2.5 + Quartz-2.2.1 集群实例(Tomcat+Memcached+Quartz集群session共享)

    本例中我启动了两个Tomcat作效果测试,先看效果图: 现在我们关闭一个Tomcat 注意红线的位置和设置的参数有关 #org.quartz.jobStore.clusterCheckinInterv ...

  4. Spring-4.0 + Quartz-2.2.1 集群实例(Tomcat+Memcached+Quartz集群session共享)还是没有解决Serializable序列化

  5. 1.Apache+Tomcat负载均衡+集群配置

    1.本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apache是 ...

  6. Windows下ELK环境搭建(单机多节点集群部署)

    1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...

  7. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  8. was集群下基于接口分布式架构和开发经验谈

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/luozhonghua2014/article/details/34084935    某b项目是我首 ...

  9. 用redis实现TOMCAT集群下的session共享

    上篇实现了 LINUX中NGINX反向代理下的TOMCAT集群(http://www.cnblogs.com/yuanjava/p/6850764.html) 这次我们在上篇的基础上实现session ...

随机推荐

  1. php Tp5下mysql的增删改查

    // 增 public function insert(){ $data = array( "username"=>"user121", "pa ...

  2. HDU - 5996 树上博弈 BestCoder Round #90

    就是阶梯NIM博弈,那么看层数是不是奇数的异或就行了: #include<iostream> #include<cstdio> #include<algorithm> ...

  3. 6、C++共用体

    6.共用体 共用体(union)是一种数据格式,他能够存储不同的数据类型,但只能同时存储其中的一种类型.也就是说,结构可以同时存储int.long和double,共用体只能存储ing.long.dou ...

  4. js 三大事件(鼠标.键盘.浏览器)

    鼠标事件: click:单击 dblclick:双击 mousedown:鼠标按下 mouseup:鼠标抬起 mouseover:鼠标悬浮(进入) mouseout:鼠标离开(离开) mousemov ...

  5. python 3中 的subprocess

    commands好像python3.6被去除了,它现在被subprocess替代了 FUNCTIONS getoutput(cmd) Return output (stdout or stderr) ...

  6. ansible基本模块-yum

    ansible   XXX   -m   yum   -a  "name=XXX"

  7. composer 创建自己包

    服务器环境下创建自己的项目文件 初始化composer 打开cmd 窗口,cd 到 backrestore 执行 composer init 命令 D:\phpStudy\WWW\backrestor ...

  8. UVA - 10298 后缀数组(仅观赏)

    题意:求最小循环节 \(KMP\)可以20ms通过,而\(da\)实现的后缀数组并无法在3000ms内通过 听说要用\(dc3\)才勉强卡过,这里仅列出\(da\)实现 #include<ios ...

  9. [转] Mysql命令基础

    [From] http://c.biancheng.net/cpp/u/mysql_ml/ 连接Mysql数据库 mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到 ...

  10. pycharm和webstorm永久激活方法

    永久激活方法 准备工作 下载JetBrains产品(pycharm.webstorm),自行安装.链接地址:http://www.jetbrains.com/products.html 下载Crack ...