没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
随着网站的访问量不断增大。服务器的压力越来越大。我们需要服务器支持更多的访问量。一台服务器是远远不够的。我们需要对服务器的职责进行细分。一些服务器专门运行php 程序。 一些服务器运行mysql。 还有一些服务器去运行 nginx。 这样就可以支持更大的访问量了。下图是一个比较简单易扩展的服务器集群架构图。
由于我没有那么多linux服务器。所以我用docker 的容器技术。虚拟化出多台服务器环境的容器。来搭建下面这个简单易扩展的服务器集群架构。当然docker也绝对不是玩具。多台服务器上我们可以运行许多docker容器。运用docker的网络连接。能够充分发挥服务器的所有优势。
创建2个 php-fpm 容器(为了方便实验。一个php版本是 php7.0 一个是php5.6.16)
docker run -d -p 9000 -v /xyz:/xyz --name php7 php:7-fpm
docker run -d -p 9000 -v /xyz:/xyz --name php5 php:5-fpm
查看两个容器的 IP 分别是 192.168.0.2、192.168.0.3
docker inspect php7
docker inspect php5
修改 nginx的配置文件 在 http 配置的项中添加如下代码。
vim /etc/nginx/nginx.conf
1 |
|
编辑虚拟主机配置文件 (第16行 调用 upstream 的 myfastcgi 的ip地址)
vim /etc/nginx/conf.d/wiki.conf
1 | server { |
重启nginx服务
nginx -s reload
回到浏览器访问 http://wiki.xyzphp.com 刷新页面 你会看到 phpinfo 一会是 7.0.0 一会是 5.6.16
负载均衡大功告成。如果用过访问量变大会负载均衡到这2台容器上去。从而缓解了服务器的压力。😄好开心啊。网站可以支持更多的人来访问了