php网站部署两套代码在两台服务器上面,如何做到上传文件同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php网站部署两套代码在两台服务器上面,如何做到上传文件同步相关的知识,希望对你有一定的参考价值。
现在有两个服务器,做了负载均衡处理,两台服务器上面放了同样的一套程序,这套程序都支持本地附件上传,如何实现这两个主机上传的附件同步呢?
假设你这两台服务器是linux的,将第三台服务器当做文件共享服务器,挂载到你这两个服务器上的同一个位置,然后php上传文件时,保存到这个挂载盘上,这样两台服务器的附件就共享了,并且同步,不管在哪套程序上上传的,都一样。当然也可以不需要第三台服务器,将你这两台中的一台挂载到另一台上,也是一样的效果。
windows服务器原理相同,不在赘述。
只用两台服务器,举例说明:
你的两个服务器分别是192.168.1.100和192.168.1.200
在192.168.1.100上,文件上传的目录设置为/var/tmp
将/var/tmp挂载到192.168.1.200的/var/tmp上
(1)在192.168.1.100上开启NFS服务并编辑/etc/exports文件:
chkconfig --level 35 nfs on
service nfs start
vi /etc/exports,加入:
/var/tmp 192.168.1.200(rw,sync,no_root_squash)
(2)在192.168.1.200上创建目录并挂载
mkdir /var/tmp
chmod 777 -R /var/tmp
mount 192.168.1.100:/var/tmp /var/tmp
这样就可以了。
你不管在哪台服务器上上传,都将文件保存到/var/tmp里,两个服务器之间的文件实现共享了 参考技术A 弄一个同步软件,自动更新不一样的程序。
C#如何在两台服务器之间进行通信
【中文标题】C#如何在两台服务器之间进行通信【英文标题】:C# How to communicate between 2 servers 【发布时间】:2011-02-20 07:58:54 【问题描述】:我有一个在 server A
上运行 ASP.NET (C#) 的网站。我需要我的网站来访问server B
上的网络服务。 server B
只会在被请求者位于特定 IP 范围内且 server A
不在此范围内时接受传入请求。
我有一个服务器 server C
,它位于 IP 范围内,唯一阻止 server A
访问 server C
的是防火墙(我可以访问)。一定可以在server A
和server C
之间的防火墙上创建一个洞,但我的问题是:
如何通过server C
将请求从server A
转发到server B
?
我还需要server B
的回复才能回复server A
:)
提前致谢。
【问题讨论】:
【参考方案1】:你可以看看 WCF;也许在服务器 C 上创建一个中间服务,在其他 2 之间进行调解。
【讨论】:
到目前为止,WCF 似乎是一个很好的解决方案。感谢您强迫我尝试 WCF ;)【参考方案2】:看看 HTTP 代理,有很多开源的,但我没有任何使用它们的经验,所以不能推荐。
如果失败,请查看套接字编程 (http://www.codeproject.com/KB/IP/socketsincsharp.aspx) - 您可以在服务器 A 和服务器 C 之间编写基于套接字的接口,然后服务器 C 将发送请求并将响应编组回服务器 A。
【讨论】:
以上是关于php网站部署两套代码在两台服务器上面,如何做到上传文件同步的主要内容,如果未能解决你的问题,请参考以下文章
不同的登录,但在两台计算机上共享实时会话,我使用什么平台以及如何构建它?