现在我们遇到了一个服务器集群的问题,无法解决!========================================================================
具体如下:
客户 的 Apache服务下, 管理了4台服务器(假设每台服务器的端口配置如下:8081~8085),每台服务器的Resin下都 部署了我们的项目.我们的工程已被Apache服务集群管理并同步,但是项目涉及的相关资源,却无法被Apache同步,具体如下:
========================================================================
CMS工程下:#publish目录
#存放发布中心(首页及内容中心)所发布的照片\\resin-3.0.14\webapps\CMS\publish#meidiaFiles目录
#存放发布中心(视听)所发布的照片\\resin-3.0.14\webapps\CMS\mediaFiles#UserFiles目录
#存放FCKEditor上发布的照片
\\resin-3.0.14\webapps\CMS\UserFiles#blog目录
#存放博客首页所发布的图片
\\resin-3.0.14\webapps\CMS\blog
Website工程下:
#与工程同级别的(webapps目录)下:#upload目录
#存放发布中心(新闻发布)所发布的资源
\\resin-3.0.14\webapps\magUpload#UserFiles目录
#存放FCKEditor上发布的照片
\\resin-3.0.14\webapps\Website\UserFiles========================================================================也就是说,假设编辑访问 http://www.123.com/CMS/, 假如 随机地跳到 端口号是8084的服务器,也就是相当于访问了http://www.123.com:8084/CMS/, 并在次服务器上,编辑了新闻,发布了图片,那么就会在此服务器下的
\\resin-3.0.14\webapps\CMS\publish(#publish目录#存放发布中心(首页及内容中心)所发布的照片)内发了相关的图片,数据当然是存到了Oracle数据库里了,这个不用担心.问题是: 别的用户访问这个新闻的时候,他输入的是 http://www.123.com/Website/, 加入随机跳到端口号是8084的服务器,那么他很幸运,他不但可以看到那个新闻的文字,还可以看到新闻的图片.(因为编辑发布这片新闻和图片是,存放的图片就是8084这台服务器下的)
但是,如果Apache 让他 随机跳到端口号是8085的服务器,那么他只能看到新闻的文字, 无法看到新闻的图片!(因为8085的 \\resin-3.0.14\webapps\CMS\publish(#publish目录#存放发布中心(首页及内容中心)所发布的照片)下,是没有那张图片的资源的;)
现在就是如何解决这个资源在Apache 服务下集群同步的 问题;)
还有就是 FCKeditor,编辑时,用到的图片等资源的同步
(#UserFiles目录
#存放FCKEditor上发布的照片
\\resin-3.0.14\webapps\CMS\UserFiles)
这个路经是在web.xml里配置的:
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>
com.fredck.FCKeditor.connector.ConnectorServlet
</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>6</load-on-startup>
</servlet><servlet>
<servlet-name>SimpleUploader</servlet-name>
<servlet-class>
com.fredck.FCKeditor.uploader.SimpleUploaderServlet
</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</param-value>
</init-param>
</servlet>
具体如下:
客户 的 Apache服务下, 管理了4台服务器(假设每台服务器的端口配置如下:8081~8085),每台服务器的Resin下都 部署了我们的项目.我们的工程已被Apache服务集群管理并同步,但是项目涉及的相关资源,却无法被Apache同步,具体如下:
========================================================================
CMS工程下:#publish目录
#存放发布中心(首页及内容中心)所发布的照片\\resin-3.0.14\webapps\CMS\publish#meidiaFiles目录
#存放发布中心(视听)所发布的照片\\resin-3.0.14\webapps\CMS\mediaFiles#UserFiles目录
#存放FCKEditor上发布的照片
\\resin-3.0.14\webapps\CMS\UserFiles#blog目录
#存放博客首页所发布的图片
\\resin-3.0.14\webapps\CMS\blog
Website工程下:
#与工程同级别的(webapps目录)下:#upload目录
#存放发布中心(新闻发布)所发布的资源
\\resin-3.0.14\webapps\magUpload#UserFiles目录
#存放FCKEditor上发布的照片
\\resin-3.0.14\webapps\Website\UserFiles========================================================================也就是说,假设编辑访问 http://www.123.com/CMS/, 假如 随机地跳到 端口号是8084的服务器,也就是相当于访问了http://www.123.com:8084/CMS/, 并在次服务器上,编辑了新闻,发布了图片,那么就会在此服务器下的
\\resin-3.0.14\webapps\CMS\publish(#publish目录#存放发布中心(首页及内容中心)所发布的照片)内发了相关的图片,数据当然是存到了Oracle数据库里了,这个不用担心.问题是: 别的用户访问这个新闻的时候,他输入的是 http://www.123.com/Website/, 加入随机跳到端口号是8084的服务器,那么他很幸运,他不但可以看到那个新闻的文字,还可以看到新闻的图片.(因为编辑发布这片新闻和图片是,存放的图片就是8084这台服务器下的)
但是,如果Apache 让他 随机跳到端口号是8085的服务器,那么他只能看到新闻的文字, 无法看到新闻的图片!(因为8085的 \\resin-3.0.14\webapps\CMS\publish(#publish目录#存放发布中心(首页及内容中心)所发布的照片)下,是没有那张图片的资源的;)
现在就是如何解决这个资源在Apache 服务下集群同步的 问题;)
还有就是 FCKeditor,编辑时,用到的图片等资源的同步
(#UserFiles目录
#存放FCKEditor上发布的照片
\\resin-3.0.14\webapps\CMS\UserFiles)
这个路经是在web.xml里配置的:
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>
com.fredck.FCKeditor.connector.ConnectorServlet
</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>6</load-on-startup>
</servlet><servlet>
<servlet-name>SimpleUploader</servlet-name>
<servlet-class>
com.fredck.FCKeditor.uploader.SimpleUploaderServlet
</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</param-value>
</init-param>
</servlet>
解决方案 »
- !!!java求一个集合的所有子集
- 求教paint(),repaint(),update() 的问题--如何设计一个画画板???
- 有关java3d的一点问题,请高手赐教 给50分!
- 很基础的问题,这个错误也许大家都遇到过,请大家帮个忙!
- [求助]JOptionPane与System.out.println()
- 如何使用OCX控件
- 如何通过一个函数改变传入的一个参数的值(参数类型如String int)???????
- 关于JDialog的问题!
- 怎样实现ftp客户端功能
- D版Jbuilder5中bas的License key,哪位可知道?感激不尽!
- Apache同步问题~~~~~~~~~~~~~交叉同步可以吗?
- eclilpse的灰色背景能不能变色
楼主【oliver_java】截止到2008-06-26 10:19:07的历史汇总数据(不包括此帖):
发帖数:0 发帖分:0
结贴数:0 结贴分:0
未结数:0 未结分:0
结贴率:-------------------结分率:-------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
(1) 这个改动也比较大,CMS发布,博客、圈子等,还有FCK Edit的图片,都要改动,改动范围较大
(2) 且如果资源分布在不同的服务器上(8084,8085等),各个资源交叉调用,后期维护都会带来麻烦;)
(3) Apache平衡负载,集群服务就失去了意义;)
比如:任何需要上传文件的功能都提交到8084,任何需要显示已上传的文件的地方都链接到8084对应的地址。(1)这个要解决 非8084端口的其他服务器,把图片等相关资源 上传到 8084端口的服务器的问题,CMS发布,博客、圈子等,还有FCK Edit的图片,都要改动,改动范围较大,且Unix服务器提供的接口,和安全问题都是未知的。
(2)且如果所有资源都放到8084,那么Apache平衡负载,集群服务就失去了意义;)
原来他们把flash\图片等都放到某台服务器,然后用Apache集群,平衡负载,与其他服务器同步, 我们把项目部署在resin下,这个resin 可否支持同步? 至少我们可以指定resin 下的某些文件夹
(存放相关资源的文件夹)同步~~~ 这样可以吗?