nginx的代理功能部署

ensp编辑的图片
代理功能说明:网名3.128 访问192.168.3.207或者设置的域名,将会展示192.168.3.205和192.168.3.206的内容,通过nginx算法来选择,实际上3.207本地是没有实际web内容的
nginx服务器一台(nginx环境),其他若干web服务器,做两台实例(192.168.3.205 apache环境 192.168.3.206 nginx环境)

apache的安装

  • 方式选择yum
  • /etc/httpd/httpd.conf 中 servername更改自己本地的域名或ip
    nginx的安装方式也选择yum 添加yum仓库 添加脚本文件 /etc/yum.repos.d/ 添加 nginx.repo

[nginx]
name=nginx repo 名称
baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/ url中可以打开这个网址具体看看中间的选项的正确名称
gpgcheck=0
enabled=1
保存退出

  • 此时再次 yum search nginx 时候 就会有安装包的显示了,加上参数显示更多版本 --showduplicates
  • yum install nginx
  • web服务器3.206的nginx中的配置文件 /etc/nginx/conf.d/default.conf
  • server_name 设置预定的域名或IP地址
  • web页面的目录在usr/share/nginx/html/

centos7 中的配置文件和centos6的不一样

centos6中有两处 /etc/nginx/nginx.conf /etc/nginx/conf.d/default.conf
nginx的代理服务器中
/etc/nginx/conf.d/default.conf中
修改
location / {
proxy_pass http://webservers/;
index index.html index.htm;
}
此条表示代开本地域名的时候跳转到本地/目录 此时他调用 webservers
/etc/nginx/nginx.conf中 http 中添加
upstream webservers {
server 192.168.3.205 weight=1 max_fails=2 fail_timeout=2;
server 192.168.3.206 weight=1 max_fails=2 fail_timeout=2;
}
server {
listen 80;
server_name localhost; # 这里这可以填成域名或ip
location / {
proxy_pass http://webservers/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location =/50x.html { root html; }
}
保存退出 重启服务

重点解读

  • upstream webservers(服务器组名){

server 192.168.204.132(服务器地址,有端口可以加端口) weight=1 (权重越大被寻找几率越高)

max_fails=2(请求失败次数) fail_timeout=2(max_file失败后暂停的时间);

down 表示单前的server暂时不参与负载
weight 权重,默认为1。 weight越大,负载的权重就越大。
max_fails 允许请求失败的次数默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout max_fails次失败后,暂停的时间。
backup 备用服务器, 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
upstream常用轮询方法:

1.round-robin 轮询的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。

2.ip_hash 每个请求按访问的ip的hash结果分配,每个访客固定一个后端服务器,可以解决session问题,如果后端服务器down掉,要手工down掉.

3.least_conn nginx将不会在负载很忙的服务器上增加请求,而是分发新的请求到不忙的服务器上面.

反向代理

localtion / {

proxy_pass http://webservers/;

};

nginx实现反向代理功能时的最重要指令为proxy_pass,它能够将location定义的URI代理指定的上游服务器(组)上,

上面的定义是,你在访问本nginx的根路径的时候,nginx直接去上游的服务器组上,寻找轮询服务器,服务器把数据传给当前nginx,nginx反馈给客户端。

nginx -t //检测配置文件

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值