最新消息:备用域名:https://yeeach.me

在linux下使用nfs及软链接解决图片文件共享问题

技术 admin 5262浏览 0评论

    由于在门户社区中,诸如图片、下载软件这样的资源都较大,且在下载过程中,对带宽资源的占用也较大,因此为不影响正常业务应用,一般情况下都是将图片等资源部署到一台单独的服务器上以分配单独的带宽(在同一台服务器上也将这些资源存放在磁盘空间较大的地方),此种情况下图片等资源与应用不一定在同一台服务器上,即使在同一台服务器上也不一定部署在同一目录下。方案如下:

1、 图片等资源部署在单独的另外一台服务器上

此种模式可以通过linux的nfs来把完成远程文件mount为本地的文件目录(类似于windows的网络共享),步骤如下:

下面以将192.168.1.199(NFS服务器端)上的目录/liang mount到192.168.1.202(NFS客户端)上为例,说明一下远程mount的实现

1) NFS服务端(192.168.1.199)执行如下操作

  • 在NFS服务端(192.168.1.199)修改/etc/exports,内容如下
         /liang 192.168.1.0/255.255.255.0(ro,no_root_squash,sync)

格式如下:directory machine1(option11,option12)

       注意:好像采用很多文档所说的 /liang 192.168.1.*(ro,no_root_squash,sync)存在问题
  • 在NFS服务器端启动NFS:

/etc/rc.d/init.d/portmap start

/etc/rc.d/init.d/nfs start

  • exportfs命令:

在启动了NFS之后又修改了/etc/exports后可以用exportfs命令来使改动立刻生效,命令格式如下:

exportfs [-aruv]

-a :全部mount或者unmount /etc/exports中的内容

-r :重新mount /etc/exports中分享出来的目录

-u :umount 目录

-v :在 export 的时候,将详细的信息输出到屏幕上。

2) 在NFS客户端(192.168.1.202)执行如下操作

  • 建立本地mount点目录

mkdir /liang

  • mount远端目录到本地目录

mount 192.168.1.199:/liang /liang

  • 修改/etc/fstab以在系统重启时候自动mount:
     # device       mountpoint     fs-type     options      dump fsckorder
     192.168.1.199:/liang  /liang    nfs          rw            0    0
  • showmout命令

-e :显示指定的NFS SERVER上export出来的目录。

-a :是用来显示已经mount上本机nfs目录的cline机器,一般在NFS SERVER上使用

2、 图片等资源与应用部署在同一台服务器上,但资源目录与应用目录不在一处

此种情况,采用linux的软链接把图片等资源链接链接到应用的目录下。

ln  -s /image /www/newwap/wap/image

由于安全上的考虑,tomcat及jboss缺省情况下都不允许访问软链接的文件,改动如下:

在conf/server.xml中或conf/Catalina/localhost(根据虚拟主机配置情况做相应改变)下的context中增加如下内容:

<Context path=”” docBase=”/www/newwap/wap”  allowLinking=”true”>

<Resources className=”org.apache.naming.resources.FileDirContext”

allowLinking=”true”/>

<Logger className=”org.apache.catalina.logger.FileLogger”/>

</Context>

3、参考资料

http://nfs.sourceforge.net/nfs-howto/ar01s04.html

Technorati Tags: ,,,,,

转载请注明:出家如初,成佛有余 » 在linux下使用nfs及软链接解决图片文件共享问题

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (0)

  1. 第2个方法我也尝试在Oracle ERP 商务套件使用, 但是上面挂得实在是太复杂了, 研究了一下, 也没有开启出来,:-) good solution !
    goodhawk16年前 (2008-09-29)回复
  2. 在jobss下配置哪个文件,可以使jboss访问软链接?如何配置?
    jerry15年前 (2008-12-05)回复
  3. 主要看你jboss使用的servlet容器的配置方式(例如jboss jetty、jboss tomcat),如果使用的是 jboss tomcat的方式,实际上还是修改tomcat的配置文件(包括修改jboss的监听端口等也修改此文件),由于jboss各个版本3.x 和4.x对tomcat的集成方式不完全相同,你根据你使用的版本找一下tomcat的配置文件试试。 jboss 4.x的配置一般为: server/default/deploy/jboss-web.deployer/server.xml 由于手上没有测试环境,你自己测试一下试试。应该没问题的
    chuan liang15年前 (2008-12-06)回复