swoole模拟多服务器Nginx反向代理实现负载均衡
来源:互联网 发布:移动商务数据采集 编辑:程序博客网 时间:2024/05/30 19:34
一直想探索一下负载均衡,苦于经济能力,没有太多的服务器可用,于是借用php的 swoole 扩展根据不同的端口,启动了多个服务器,然后使用Nginx反向代理,尝试了一下负载均衡,具体搭建过程如下。
1.安装lnmp
具体的安装步骤就省略了,不会的参考一键安装包 注意最好编译安装,便于swoole的扩展编译
2. 安装 swoole
swoole的安装下载参考swoole官网
3. 编写服务程序
文件 s1.php
<?php$serv = new swoole_http_server("0.0.0.0", 9501);$serv->on('Request', function($request, $response) { $response->cookie("User", "Swoole"); $response->header("X-Server", "Swoole"); $response->end("<meta charset='utf-8'/><h1>Hello Swoole!,你访问的是第一台机器9501</h1>");});$serv->start();
然后复制3份文件 分别命名为 s2.php s3.php和s4.php
更改对应的端口和提示语 分别改为 9502、9503和9504
提示语改为 第二台机器9502、第三台机器9503 和 第四台机器9504
4. 配置Nginx反向代理
upstream backend { server 127.0.0.1:9501 weight=65; server 127.0.0.1:9502 weight=105; server 127.0.0.1:9503 weight=45; server 127.0.0.1:9504 weight=85;}server { listen 9500; server_name 127.0.0.1; location / { proxy_pass http://backend; }}
上面,我使用的是9500 端口反向代理到四个不同的服务器端口。
5. 启动服务
分别打开4个端口,使用命令
# php s1.php# php s2.php# php s3.php# php s4.php
重启nginx
# nginx -s reload
随机访问了下,如下图
不断刷新会返回不同的服务器,为了看的更清楚,我写了一个测试shell脚本 test.sh
#!/bin/bashfor ((i=1;i<=20;i++))docurl 'http://127.0.0.1:9500/'echo ''sleep 1done
然后执行脚本,我们看到访问的很均匀的出现了
至此,负载均衡的测试完成。
阅读全文
1 0
- swoole模拟多服务器Nginx反向代理实现负载均衡
- Nginx反向代理实现Tomcat集群服务器的负载均衡
- Nginx反向代理实现Tomcat集群服务器的负载均衡
- nginx反向代理三台web服务器,实现负载均衡
- Nginx实现反向代理和负载均衡
- nginx反向代理实现http负载均衡
- 使用Nginx反向代理实现负载均衡
- nginx做反向代理实现负载均衡
- nginx反向代理tomcat实现负载均衡
- Nginx反向代理实现负载均衡总结
- Nginx反向代理实现均衡负载
- Nginx反向代理实现均衡负载
- Nginx实现负载均衡和反向代理
- Nginx实现负载均衡的反向代理
- Nginx实现反向代理负载均衡
- nginx实现反向代理和负载均衡
- nginx 实现反向代理和负载均衡
- Nginx实现反向代理负载均衡
- MYSQL数据库表操作pdf
- centos7下安装jenkins
- MySQL数据库开发的三十六条军规 石展 完整pdf
- PAT (Basic Level) Practise (中文) 1025. 反转链表 (25)
- Mysql学习手册pdf
- swoole模拟多服务器Nginx反向代理实现负载均衡
- Oracle 11g OCP 备考指南pdf
- oracle 12c 中文白皮书 官网pdf
- Oracle ADF开发实战指南pdf
- CSS中font-weight:bolder与设置数值的区别
- 【Redis缓存机制】5.List链表类型介绍和操作
- Oracle Database 11g PL-SQL编程实战pdf
- Oracle PL SQL 精萃pdf
- Oracle PL SQL专家指南 高级PL/SQL解决方安案的设计与开发