,apache访问网络共享磁盘,实现apache与tomcat静动态处理分离" /> ,apache访问网络共享磁盘,实现apache与tomcat静动态处理分离" />
很多大的java网站配置都是用到一个很apache+tomcat,用apache做静态文件处理,用tomcat做动态处理,这样就可以很好发挥apache的优势。
但是还会碰到一种情况就是,大的网站静态文件存储又是一个问题,就拿上传的图片为例子。
最近公司网站就出现了这样一个问题,网站的大体架构如下图所示:
下面是IP地契假设
图片服务器:192.168.1.1
WEB服务器:192.168.1.2/192.168.1.2
服务器(192.168.1.1)是通过共享磁盘的方式到WEB服务器
WEB服务器如何读取到共享磁盘上的内容呢?
1、首先能apache建立一个apache用户apache_run(此用户必需要有网络共享磁盘的访问权限)
2、设置apache运行身份,让apache以apache_run身份运行(这样apache就可以访问到共享磁盘了!)
3、配置apache(假设apache与tomcat集群已经配置好),在apache配置中加上
JkMount /* controller #所有文件都交给tomcat处理
JkUnMount /fck/* controller #将访问路为/fck下的文件给apache处理
4、设置apache的网络根目录DocumentRoot "\\192.168.1.1/fck" #将服务器上共享出来的fck目录做为apache的一个根目录
5、将/fck映射到网络目录,并设置目录访问权限
Alias /fck “\\192.168.1.1/fck”
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
做完以上配置后通过http://host/fck/XXXX就可以访问到图片服务器上的内容了。
PS:建议不要用服务器共享的方式,网张共享还是会出现不稳定的因素,最好是给图片服务器配置一个独立的web服务,通过web服务直接访问。