Nginx+Tomcat+Memcached的疑问,亟待解决!!

是这样的,项目上线了,现在服务器是单个tomcat7跑着,前期默认设置线程上200的宕机,经过JVM和tomcat详细配置后现在好了一些,但是担心并发量大了会完蛋,所以最近沧桑各种集群,先用了apache+tomcat,测试通过了,但是看到前辈说Nginx比apache更好用,所以就换了,但是还是面临同样的问题,session同步,后期我加入了Memcached配置,可是发现另外一个问题就是我上传的文件不能同步到另外一个tomc中,还有就是我下载的时候报404,单独使用tomcat的端口没问题

第1个回答  2012-11-13
Nginx 反向代理使 文件只能存放在当前代理所指向的服务器中,自然无法同步到多态服务器,下载时同理

解决办法:Nginx 设置下载二级域名或端口,在上传或下载文件时,使Nginx指向统一路径追问

你的意思是单独用个磁盘服务器作为上传文件的服务器吗?那这样一来动作就多了,项目之初并没有规划这些哟

好像apache+tomcat解决上传文件同步的问题也是你说的这样,我在网上搜了不少apache+tomcat解决这样问题的方式,但是Nginx+tomcat居然没有这样的问题,我搜不到,还以为Nginx+tomcat能通过配置解决这样的问题

本回答被网友采纳
第2个回答  2012-11-13
对于文件的上传,你应该将其独立到一个文件夹中,在nginx中配置下载的转发即可。追问

怎么解决上传的文件同步?

追答

用fastdfs来管理文件同步

追问

大哥我看了下这个方式别人说:
FastDFS需要的编译和运行环境是怎样的?
FastDFS Server仅支持unix系统,在Linux和FreeBSD测试通过。在Solaris系统下网络通信方面有些问题。编译需要的其他库文件有pthread和libevent。pthread使用系统自带的即可。对libevent的版本要求为1.4.x,建议使用最新的stable版本,如1.4.14b。注意,千万不要使用libevent 2.0 stable以前的版本。
我的服务器是windows-2008,有别的办法吗?

追答

这种评论,只有试过才知道是否合适自己使用;就目前我们的使用经历来看,没有出现你罗列的那些问题。或者是版本不一样吧。

win的服务器没有接触过,不是很清楚是否有其它类似软件。。

提供一个笨方法吧。
1.web中配置一个常量,用来存放你的所有所有tomcat列表。
2.当某一个web接到上传文件并操作完后,启动一个独立线程threadA(不要使用当前线程,避免前端用户等待。)(如果tomcat列表中有多个,就启动多个独立线程)。
3.在threadA中,使用http client将这个新增加的文件上传到另外的某个web下。

大致步骤如上,方法有点笨,但是很实用。没有环境局限,也没有给服务器管理带来额外的工作。

本回答被提问者采纳
相似回答
大家正在搜