您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~
Nginx既然可以限制流量,那能不能「扩展」流量呢?当然可以,但可能不是你想象的那种「扩展」,更准确地来说是复制,或者说「拉分支」。
这是因为,有时候为了确保开发出来的应用能够立即应用到生产环境,需要将生产环境的数据和流量拷贝到开发环境,这样做的好处显而易见:
1、可以验证功能是否正常,以及服务的性能;
2、用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问;
3、可以用来排查线上问题,同时,这也是一种测试方式;
4、可以理解为给流量「拉分支」。
修改Nginx的配置:
user root
worker_processes 1
events {
worker_connections 1024
}
http {
include mime.types
default_type application/octet-stream
sendfile on
keepalive_timeout 65
upstream test {
server 172.16.185.130:8080
server 172.16.185.131:8080
}
# 增加对8080端口的监听
server {
listen 8080;
access_log /home/work/logs/nginx/8080.log;
}
# 增加对9090端口的监听
server {
listen 9090;
access_log /home/work/logs/nginx/9090.log;
}
server {
listen 80;
server_name localhost;
location / {
mirror /mirror1; # 指定镜像uri为/mirror1
mirror /mirror2; # 指定镜像uri为/mirror2
proxy_pass http://test;
}
location = /mirror1 {
proxy_pass http://127.0.0.1:8080; # 指定mirror1的url地址
}
location = /mirror2 {
proxy_pass http://127.0.0.1:9090; # 指定mirror2的url地址
}
}
}
停止并重新启动Nginx服务:
cd /usr/local/nginx/sbin
./nginx -s stop
./nginx
在远程终端中执行tail命令,查看端口的日志输出
tail -f /home/work/logs/nginx/8080.log
tail -f /home/work/logs/nginx/9090.log
在浏览器中访问:
http://IP/test?username=test1
可以据此观察服务器端口日志输出的变化。
感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~