负载均衡简单配置

负载均衡动静页面分离

思路 将动态静态页面分开建立主机表 然后用location进行匹配执行分配访问请求

负载均衡服务器配置:

upstream dynamic {

 server 10.0.0.7:80;

}      

upstream static {

 server 10.0.0.8:80;

}      

upstream upload {

 server 10.0.0.9:80;

}      

server {

 listen 80;

 server_name localhost;

 location /dynamic/ {

 proxy_pass http://dynamic;

 proxy_set_header Host $host;

 proxy_set_header X-Forwarded-For $remote_addr;

 proxy_next_upstream error timeout invalid_header http_404;

 }

 location /static/ {

 proxy_pass http://static;

 proxy_set_header Host $host;

 proxy_set_header X-Forwarded-For $remote_addr;

 proxy_next_upstream error timeout invalid_header http_404;

 }

 location /upload {

 proxy_pass http://upload;

 proxy_set_header Host $host;

 proxy_set_header X-Forwarded-For $remote_addr;

 proxy_next_upstream error timeout invalid_header http_404;

 }

}

利用负载均衡 实现访问时显示不同网页(手机端or电脑端)

判断请求信息中 主机信息 是使用什么设备进行的访问 根据不同设备返回不同网页

upstream chrome {       #c  设置主机表

 server 10.0.0.7:80;

}      

upstream Android {

 server 10.0.0.8:80;

}      

location / {   

 if ($http_user_agent ~* chrome) {      #c if判断功能 日志中访问设备信息是否匹配chrome

 proxy_pass http://chrome;  #c  如果成立  将数据传输给指定服务器显示浏览器页面

 }

if ($http_user_agent ~* Android) {     #c if判断功能 判断是否匹配Android

 proxy_pass http://iphone;

 }

 proxy_pass http://default;

 proxy_set_header Host $host;

 proxy_set_header X-Forwarded-For $remote_addr;

 proxy_next_upstream error timeout invalid_header http_404;

 }

#c $http_user_agent 调取日志主机信息中  访问设备信息

第6章 nginx 4层负载

nginx四层负载利用stream模块监控端口进行反向代理 他和http模块是平级的

检查nginx是否安装了stream模块

nginx -V | grep stream

如果没有需要重新编译安装

stream {

upstream ports {

server 10.0.0.7:8888; #c 向后抛的端口

server 10.0.0.8:9999; #c nc -kl 9999 NC用于看端口的

}

server {

listen 996;  #c 监控访问端口

proxy_pass ports; #c 直接向后仍

}

}

第7章 企业中服务网络安全访问配置

目的: 尽可能不暴露企业服务器IP地址给用户

第一步: 修改负载均衡配置文件

upstream oldboy {

 server 10.0.0.7:80;

 server 10.0.0.8:80;

 server 10.0.0.9:80;

}      

server {

 listen 10.0.0.3:80; #c 只监听指定ip的访问请求 (注意要自己网卡有的IP)

 server_name localhost;

 location / {

 proxy_pass http://oldboy;

 proxy_set_header Host $host;

 proxy_set_header X-Forwarded-For $remote_addr;

 }

}

第二步修改内核信息 修改为允许监听本地网卡没有的IP地址

echo 'net.ipv4.ip_nonlocal_bind = 1' >>/etc/sysctl.conf 修改内核信息

sysctl -p 刷新内核

注意项:

(1) nginx程序涉及到IP地址修改,必须重启nginx

(2) 监听的地址必须是本地网卡上有的地址

如何监听网卡上没有的地址:

解决方法:

echo 'net.ipv4.ip_nonlocal_bind = 1' >>/etc/sysctl.conf
sysctl -p

你可能感兴趣的:(负载均衡简单配置)