开发者社区> 问答> 正文

slb,两台阿里云服务器,如何设置phpwind87?

使用两台云主机,采用phpwind87程序搭建论坛.lnmp环境.两台安装同样的phpwind87论坛程序,数据库和附件放在A服务器,另一台B服务器同步使用A服务器的数据库和附件目录,负载均衡slb,如何配置两台主机的phpwind程序?请专家指教?

展开
收起
雨中听风 2013-03-14 00:47:21 15757 0
10 条回答
写回答
取消 提交回答
  • 推荐回答:

    建议不要用rsync 那个只适合定时同步数据 不适合实时同步数据

    rsync我一般只用在静

    建议使用NFS 用一台服务器的数据盘创建NFS 然后另一台挂在NFS来解决

    不过NFS不支持mysql mysql的表锁机制会与NFS产生冲突 建议另外购置RDS来解决这个问题

    如果不想通过RDS解决问题的话就在一台机器上设置上mysql 然后开放远程访问 另一台也设置为访问那台数据即可 不过要做好配置只对内网开放建议不要用rsync 那个只适合定时同步数据 不适合实时同步数据

    rsync我一般只用在静态数据上 论坛上有些是服务器单属的 比如访问日志 还有一些临时页面 不是简单同步

    建议使用NFS 用一台服务器的数据盘创建NFS 然后另一台挂在NFS来解决

    不过NFS不支持mysql mysql的表锁机制会与NFS产生冲突 建议另外购置RDS来解决这个问题

    如果不想通过RDS解决问题的话就在一台机器上设置上mysql 然后开放远程访问 另一台也设置为访问那台数据即可 不过要做好配置只对内网开放

    官方帮助文档地址:阿里云帮助中心

    更多参考: 阿里云官方(新用户需官网注册查看)

    2021-04-19 22:07:56
    赞同 展开评论 打赏
  • 回 33楼(likelike) 的帖子
    用过SLB后肯定会比单机对外服务的能力要好,一方面是对并发请求的处理能力要高于单机,另一方面是容灾,当单机出现问题后通过SLB的健康检查功能能够确保对外服务的不中断。
    2013-04-07 15:30:08
    赞同 展开评论 打赏
  • Reslb两台阿里云服务器如何设置phpwind87
    我也准备用SLB,不过前段时间有人反映用了SLB后还没有单机的性能好,不知道是不是真的?
    2013-04-02 16:17:17
    赞同 展开评论 打赏
  • Reslb两台阿里云服务器如何设置phpwind87
    留个名,过段时间上SLB,到时来参考。
    2013-03-31 15:19:24
    赞同 展开评论 打赏
  • Reslb两台阿里云服务器如何设置phpwind87
    http://www.sxlocky.com支持啊。。
    2013-03-30 10:59:27
    赞同 展开评论 打赏
  • Reslb两台阿里云服务器如何设置phpwind87
    建议不要用rsync 那个只适合定时同步数据 不适合实时同步数据
    rsync我一般只用在静态数据上 论坛上有些是服务器单属的 比如访问日志 还有一些临时页面 不是简单同步
    建议使用NFS 用一台服务器的数据盘创建NFS 然后另一台挂在NFS来解决
    不过NFS不支持mysql mysql的表锁机制会与NFS产生冲突 建议另外购置RDS来解决这个问题
    如果不想通过RDS解决问题的话就在一台机器上设置上mysql 然后开放远程访问 另一台也设置为访问那台数据即可 不过要做好配置只对内网开放

    -------------------------

    回 17楼(雨中听风) 的帖子
    对 NFS就是类似于windows之间磁盘共享 多台服务器访问同一磁盘 所以网站文件什么的也都是共享的 就不需要走nginx反向代理了
    NFS从基础上就不支持mysql的数据库文件 NFS无法满足mysql执行文件锁定时的操作
    最好是在一台主机上设置mysql然后把另一台主机的数据库地址指向那台机器 或者直接使用RDS

    -------------------------

    回 17楼(雨中听风) 的帖子
    阿里云所有主机间相互的通讯都是可以走内网的 只要将目标地址设定为内网的IP即可 同时要在相关软件中设置来保证端口以及权限开放

    -------------------------

    回 20楼(雨中听风) 的帖子
    那些都不用设置 因为无论那台服务上传附件 都是上传到同一个位置 所以A上传的附件B也可以访问到的
    镜像配置貌似是给一些外部存储网站做的 有些网站可以用来存附件 忘了怎么叫那些网站了……
    NFS这些同步的问题你就都不需要管了 你可以想象成同样的数据同时被两台服务器访问 同时任何一台对数据所做的更改也会被另一台读取到

    -------------------------

    回 22楼(雨中听风) 的帖子
    http://www.vpsee.com/2010/06/install-nfs-4-0-on-centos/
    你参考一下这个教程  用yum装很简单的

    -------------------------

    回 24楼(雨中听风) 的帖子
    客气哈~ 以后会慢慢收集论坛问题然后专门出一个教程帖子来教大家使用云服务器的~
    nfs算是用的比较广的网络文件系统 稳定性易用性还是有保障的
    rsync主要问题是在他是定时同步 对静态内容同步比较好 但是对于论坛这种会产生大量临时文件以及上传文件的来说局限性比较大
    建议开启SLB的保持连接 要不可能论坛会出现session丢失的问题
    如果都弄完之后还会出现session丢失的情况在论坛反馈一下 估计可能还需要修改php保存session的文件夹位置 修改到nfs盘

    -------------------------

    回 24楼(雨中听风) 的帖子
    不知道phpwind的session用的php的还是像dz那样写入session到数据库
    如果开启SLB的话还会出现session丢失的问题 就在nfs盘中新建一个session文件夹  同时修改两台服务器的/etc/php.ini文件将session临时存储位置指向新建文件夹即可

    -------------------------

    回 29楼(雨中听风) 的帖子
    你可以把你的服务器ip 密码发敌人消息发给我 我帮你配置一下
    2013-03-27 15:54:18
    赞同 展开评论 打赏
  • Reslb两台阿里云服务器如何设置phpwind87
    技术贴,收藏一下
    2013-03-26 11:47:51
    赞同 展开评论 打赏
  • 谢谢VPSmm和版主,期待你的教程!希望整理个简单的使用两台服务器的教程!

    -------------------------

    有几个问题先咨询一下VPSMM,做个技术准备工作,现在阿里云在搞活动,准备好就在买一台服务器。谢谢VPSMM的热情支持。
    1、“数据库放A,然后,AB都走内网(带宽大)远程连接A”,远程链接A指的是?
    2、“附件,直接上传到A(阿里上行不限,带宽够大),用远程附件功能。”,下载附件时也走A服务器直接下载还是经由B服务器下载?
    3、“A和B,分别绑定论坛域名 PHP程序,这样,开启保持连接后,cookies也不影响,无论分发到A或B,论坛都可以正常访问。”,A和B,分别绑定论坛域名 PHP程序,这句没看太明白?php程序指的是什么?

    -------------------------

    谢谢VPSMM!1和3我明白了。2的意思我基本看明白了,我是比较菜些,你的博客我看过了。如有不明白的再问。
    4、“附件部分,A绑定地址到目录,例如ATT.YOUR,B直接用反代A的内容(注意反代走内网,只要设置B机器/etc/hosts的域名ATT.YOUR为A的内网址即可),这样当外网通过SLB访问ATT的时候,能得到最大带宽,而不只是A的带宽。相关RSYNC同步以及LNMP反向代理,在签名红字都能找到教程。”这句里“A绑定地址到目录,例如ATT.YOUR”中ATT.YOUR是附件目录还是附件目录绑定的域名?还有“设置B机器/etc/hosts的域名ATT.YOUR为A的内网址即可),”,这个应该怎么写?

    -------------------------

    附件域名用子域名就可以吧?例如:att.abc.com这样绑定到附件目录。
    “设置B机器/etc/hosts的域名ATT.YOUR为A的内网址即可)”
    /etc/hosts里增加一句,这样写:10.xx.xxx.xxx att.abc.com

    -------------------------

    一、最简单的反向代理脚本(只要修改2个网址,存成conf文件放置于vhost下):


    server
    {
    listen          80;
    server_name     www.vpsmm.com;
    location / {
    proxy_pass          http://cache.vpsmm.com/;
    proxy_redirect      off;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }
    上面: www.vpsmm.com这里是不是填A服务器的域名,这里:  http://cache.vpsmm.com/;
    填A服务器附件目录的域名就可以了?

    -------------------------

    那就是2个地方都填A服务器的域名?假如A和B服务器论坛域名都是:bbs.abc.com,那么这2处填写一样的域名即可?那么A服务器的附件目录绑定的域名:att.abc.com怎么用的?

    -------------------------

    A和B服务器域名都是:bbs.abc.com,反向代理这么写对吗?

    server
    {
    listen          80;
    server_name    bbs.abc.com;
    location / {
    proxy_pass          http://bbs.abc.com/;
    proxy_redirect      off;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    }

    -------------------------

    怎样设置NFS才能不用同步mysql数据库?

    -------------------------

    用nfs后是不是就不需要nginx反向代理了?nfs挂载的目录可以走内网吗?phpwind程序

    -------------------------

    phpwind程序有个镜像配置附件地址的,但是不能走内网,不知道nfs挂载的附件目录是不是可以走内网上传下载附件?

    -------------------------

    这个功能不错,我装的军哥的lnmp环境,装nfs前还要装那个rpc吗?

    -------------------------

    谢谢TW版主1

    -------------------------

    好的,谢谢指导!我自己试试看,有问题再请教!

    -------------------------

    云服务器用的是军哥的LNMP0.9,现在要安装NFS服务,搜索了论坛和百度,基本都是讲NFS安装的,很少讲到RPC如何安装的,服务器上没有找到rpcinfo这个文件,是不是要先安装什么包?然后再安装nfs?谢谢!

    -------------------------

    搞了一天,刚搞好。现学现用,谢谢版主twl007的指导!现在是数据库放在A服务器,开启远程链接,两台共用。附件放在B服务器使用NFS共用。SLB均衡负载已开启。也谢谢VPSMM的指导。感谢CCTV,论坛好人多啊。版主,使用敌人消息是怎么发?站内消息发给你?
    测试网址:   slb均衡负载测试phpwind87

    欢迎大家帮助测试,谢谢!
    测试用户:user1、user2、user3
    密码都是:12345678

    2013-03-14 17:22:46
    赞同 展开评论 打赏
  • 给你一个简单的解决方案:数据库放A,然后,AB都走内网(带宽大)远程连接A。附件,直接上传到A(阿里上行不限,带宽够大),用远程附件功能。程序2边都放,可以用RSYNC同步,也可以不同步。因为除了附件外,论坛程序二边应该是一样的,直接复制一份就行。A和B,分别绑定论坛域名 PHP程序,这样,开启保持连接后,cookies也不影响,无论分发到A或B,论坛都可以正常访问。附件部分,A绑定地址到目录,例如ATT.YOUR,B直接用反代A的内容(注意反代走内网,只要设置B机器/etc/hosts的域名ATT.YOUR为A的内网址即可),这样当外网通过SLB访问ATT的时候,能得到最大带宽,而不只是A的带宽。相关RSYNC同步以及LNMP反向代理,在签名红字都能找到教程。

    我有一个案例, www.ananyiyi.com 就是这么做的,A服务器(CPU好)跑数据库,B服务器(内存大)跑PHP和附件,CDEFG(带宽好)是反向代理,BCDEFG组成SLB,能得到最大带宽。稍后,我整理简化一下,放出详细的配置教程,发论坛来。

    -------------------------

    1、A的数据库,单独开一个远程用户,开放给内网IP服务器B,这样,服务器B可以通过远程来访问服务器A的数据库。这个在lnmp的pma里面有。
    2、下载附件的时候走SLB,这个时候就需要B反代到A,建议单独设置一个附件域名。详细占:当访客走到slb,会自动分配A或B,A时走A,B是反向代理到B(我博客有最简单脚本)
    3、这个就是,在服务器A和B,都放置相同的论坛程序,并且要绑定论坛域名。

    总体就是说,当直接访问A,就是正常论坛和附件,当直接访问B,也是正常论坛(数据库通过内网访问A)和附件(nginx反代到服务器A,只做一下中转,不实际存储文件)。这样当SLB分配后,都可以正常访问。

    这样的好处,A硬盘够大就行,B无所谓。AB同时跑PHP程序,这样,可以很大程度缓解单独A跑程序的问题。同样,可以用相同的模式扩展出BCDEFG等。

    -------------------------

    对,在B的/etc/host里,加一句,10.x.x.x(A的内网IP) att.your.com

    -------------------------

    回 9楼(yjm2000) 的帖子
    如果域名一样,直接输入一样的域名就可以。只要反代的那台hosts把域名A记录指向到内网源站即可。

    -------------------------

    回 15楼(雨中听风) 的帖子
    可以用SLB,反正内网流量也不花钱。
    2013-03-14 01:57:23
    赞同 展开评论 打赏
  • 搭建SLB后,还有一个关键的,是同步SESSION。
    建议使用rsync同步。
    2013-03-14 00:55:54
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
《应用型负载均衡ALB产品解读》 立即下载
阿里云网络-SLB负载均衡产品介绍 立即下载
负载均衡SLB热点问题解答 立即下载