Nginx代理服务器, 一次性代理多台后端机器, 利用负载算法, 决定将当前请求传递给某台服务器执行.
有哪些后台服务器?例如微软的IIS,Apache,Nginx
负载算法是什么? 加权轮询.
nginx的配置项:
upstream 可以配置一个服务器集群
配置方式, 指出服务器列表, 并指明需要的算法即可:
典型的算法, 加权轮询.
配置如下:
nginx –s reload 重启服务器
例如:此时通过浏览器请求 loadBalance.nginx.com /index.html
配置浏览器所在的操作系统的hosts.
PS: 本地测试时, 需要暂时关闭, 对Host请求头的传递:
测试结果:连续请求一个地址, 发现所使用的index.html是不同的:
PHP负载均衡服务器解决方案:
PHP程序就产生了新问题
1.程序代码部署
保证每台web服务器的中使用的代码一致的.
A:办法之一: git公共版本库的方式.
在每台服务器上执行pull即可
B:办法二: 利用shell脚本(管理服务器的脚本程序)
C:办法三: 利用工具完成. 同步的环境工具.docker, ..
2.会话session数据共享
提供独立的session服务器即可
3.文件数据的共享
提供独立的文件服务器进行管理
1.将文件内容存储在数据库中. 利用blob二进制数据进行存储.
2.利用ftp协议将处理的文件, 上传到独立的文件服务器中. 导致很多网站, 图像的URL的域名与网站本身是不一致的.
http://www.nuskinbing.com冰之爱如新化妆品网
图片存储在<img src="http://image.nuskinbing.com /log.png" />单独的子域名服务器
3, 利用第三方存储服务器, 将文件存储在第三方服务器上. 由第三方服务器给资源的链接, 在项目展示即可. 例如, 百度, 腾讯云存储, 亚马逊S3存储集群.