龙空技术网

怎么搭建短视频系统?全套负载均衡方案

开源那些事儿 141

前言:

而今姐妹们对“php负载均衡技术”大致比较关怀,各位老铁们都需要了解一些“php负载均衡技术”的相关知识。那么小编在网络上搜集了一些关于“php负载均衡技术””的相关内容,希望看官们能喜欢,小伙伴们快快来了解一下吧!

摘要:负载均衡的表述性解释咱不再说明,自行谷歌或百度即可。这里主要介绍两种负载均衡的方案。

短视频系统跟直播系统有一样的特点,面向的用户群体数量较大,聚集时间点集中。比如午饭时间,晚上休闲时间。所以做好系统的负载特别重要,既能提高系统的稳定性和可用性,从侧面来讲也能提高用户的体验和用户留存。

负载均衡的表述性解释咱不再说明,自行谷歌或百度即可。这里主要介绍两种负载均衡的方案。

方案一:使用运营商成熟的方案,比如阿里云的负载均衡SLB,腾讯云的负载均衡CLB。这些成熟的方案稳定性高,运维成本低。只需要日常维护后端服务即可,不过除非你是一定量级的大客户,否则无法个性定制。

方案二:自建负载均衡,该方案需要有基础的运维能力。需要运维人员持续跟踪,可以自由扩展定制。前期数量级小的话,建议走这种方案。后期数量级大的话,还是走方案一比较稳妥一些。

这里介绍下方案二自建负载均衡的方式。按照最小方案来举例说明,均用1核1G5M带宽的服务器。

注意:后期上线需要根据自身业务的情况进行配置扩展,这里是做演示举例用最低配置即可。

一、首先需要准备相关资料,如下:

1.系统域名

2.Nginx负载服务器 1台

(用于前台分发)。

3.Web 后端服务器 2台(配置PHP环境,放置管理后台和接口)

4.Mysql 数据库服务器 1台(配置数据库)

5.Redis 缓存服务器 1台(配置缓存)

6.Session 共享服务器 1台(共享数据Session)

7.以上服务器必须存在一个内网中,响应速度等体验会好一些。

二、其次将各个服务器按照原始系统的搭建方式进行依次搭建。这里重点说明下Nginx负载服务器和Session缓存服务器的搭建和配置方式。

1.Nginx负载服务器的搭建,假设入口域名是yunbaozhibo.com

1.1安装pcre(依次操作)获取pcre编译安装包,在在pcre.org/上可以获取当前最新的版本。 解压缩pcre-xx.tar.gz包 进入解压缩目录,执行./configure执行安装make & make install

1.2 安装openssl(依次操作) 获取openssl编译安装包,在openssl.org/source/上可以获取当前最新的版本。解压缩openssl-xx.tar.gz包 进入解压缩目录,执行./config 执行安装make & make install

1.3安装zlib(依次操作)获取zlib编译安装包, zlib.net/上可以获取当前最新的版本解压缩zlibxxx.zip包。注:这里的tar包应该是有问题,没法命令解压,只能换zip包进入解压缩目录,执行./configure执行安装make & make install

1.4安装Nginx获取nginx,在nginx.org/en/download.html上可以获取当前最新的版本 解压缩nginx-xx.tar.gz包进入解压缩目录,执行./configure 这里会自动关联上边的三个组件执行安装make & make install

1.5配置相关信息安装完成后,nginx在/usr/local/nginx中, nginx.conf在该文件下的conf中 nginx启动在sbin中。配置nginx.conf文件在http{}中的server{}前添加upstream yunbaozhibo.com{ ip_hash; #第一次配置负载用ip_hash来处理session,后期修改为session复制 server 192.168.7.11:80; #这里是web服务器的内网ip server 192.168.7.22:80; #这里是web服务器的内网ip #这里最好加一个简单的后备server,web全挂后跳转到他,友情提示下服务器正在维护。}在http{}中的server{}中的location /{}添加proxy_pass yunbaozhibo.com;proxy_set_header Host host;proxy s et h eaderX−Real−IP host;proxysetheaderX−Real−IPremote_addr;proxy_set_header X_Forwarded-For $proxy_add_x_forwarded_for;配置完后,启动nginx /usr/local/nginx/sbin/nginx

2.Session服务器的配置,假设Session的服务器ip为192.168.7.2。Redis端口为1122这里的Session服务器是使用Redis来缓存共享Session的。

2.1正常安装并启动Redis服务

2.2 找到web服务器中的php.ini文件,修改如下找到;session.save_handler = files改为session.save_habdler = redis找到;session.save_path = “/tmp”改为session.save_path = “tcp://192.168.7.2:1122”

本文来自阿里云云栖社区,未经许可禁止转载。

更多资讯,尽在云栖科技快讯~

来科技快讯看新闻鸭~

快点关注我认识我爱上我啊~~~

标签: #php负载均衡技术