又隔了一段时间没有写博客,最近在学习Nginx配置代理和负载均衡,这边主要先介绍一下nginx的配置与使用
1.nginx怎么实现代理的,在Linux中安装完nginx后到conf文件目录下找到nginx.conf配置文件,配置代理主要是配置server{}
server {
listen 80;
server_name localhost;
location / {
index index.html index.htm;
proxy_pass http://192.168.196.138:8080;
}
}
nginx默认监听的端口是80,只要配置 proxy_pass 指向你要指的服务器,就可以实现代理
2.nginx怎么进行负载均衡处理,在nginx的配置文件中主要配置upstream{}
upstream <span style="color:#ff0000;">tomcats</span>{
#ip_hash 这个负载策略可以将某个IP粘在某个服务器上,直到这个服务器挂掉,大用户量基本实现IP平均分配访问
#fair(第三方模块)
#url_hash(第三方模块)
//如果不指定weight使用默认的轮训策略,权值越大,负载越大(不设置weight默认值为1)
server 192.168.196.138:8080 weight=5
server 192.168.196.139:8080 weight=1
//备份机,只有当非备份机都挂掉的时候才会启用
server 192.168.196.140 backup
//down,停机维护的时候使用
server 192.168.196.141 down
//max_fails:达到指定次数认为服务器挂掉
//fail_timeout:挂掉之后过多久再去测试是否已恢复
server 192.168.196.138 max_fails=2 fail_timeout=70s;
}
这里配置了一个tomcats群,然后你把nginx服务器的服务指向这个群就可以实现负载均衡。
server {
listen 80;
server_name localhost;
location / {
index index.html index.htm;
proxy_pass http://<span style="color:#ff0000;">tomcats</span>;
}
}
负载均衡一般有几种策略,如果不配置权重的时候,是平均调用策略(默认),如果配置权重就安权重的比例来调用。IP_hash则是讲某个IP粘性地附在服务群的某一个服务器上。其他的Fair和url_hash是第三方策略模块,需要在安装nginx的时候引入或者重新引入module。fair策略自动根据后端负载来分配响应。url_hash按照当前请求的url,不管哪个用户,url相同就请求同一个服务器(电商平台商品静态页面化,放缓存)
通过对上面的配置就可以实现代理的处理
配置完成以后需要做重新加载处理 ->到nignx安装目录 sbin/nginx -s reload
3.使用第三方负载策略的模块步骤
1先去下载nignx-upstream-fair-master.zip
2解压这个包
3重新编译nignx
4在nginx的解压目录执行 ./configure --prefix=/opt/nginx --add-module=/tmp/nxinx-upstream-fair-master(负载模块解压目录)
5如果是第一次安装nginx则用make && make install |||已经安装过nginx的时候只需要make命令
6关闭原来的nginx服务 /opt/nginx/sbin/nginx -s stop
7在当前目录把nginx文件拷贝到我们的安装目录下的nginx