Nginx实现反向代理、负载均衡

什么是nginx?

简单了解一下什么是nginx
Nginx是一款高性能的反向代理服务器,可以实现http服务器,虚拟主机,反向代理,负载均衡,由俄罗斯的程序设计师Igor Sysoev所开发,占内存小,响应速度快

  1. Http服务器:可以提供http服务,做网页的静态服务器
  2. 虚拟主机:可以实现在一台服务器上模拟多个网站
  3. 反向代理,负载均衡,当网站的访问量达到一定程度的时候,单台服务器不能满足用户的请求,需要多台服务器做集群可以使用nginx做反向代理, 使多台服务器平均分担负载,减轻服务器压力,并且不会暴露服务器的真实ip

安装nginx

安装nginx之前需要安装所需要的依赖环境

  1. 安装gcc编译
    yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
    
  2. pcre安装
    yum install -y pcre pcre-devel
    
  3. zlib安装
    yum install -y zlib zlib-devel
    
  4. openssl 安装 安装
    yum install -y openssl openssl-devel
    

一切安装就绪后开始安装我们的主角nginx
使用wget命令下载rpm安装包
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx
make
make install

启动nginx

cd /usr/local/nginx/sbin
./nginx 

打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功

常用操作命令

./nginx   					//启动nginx
./nginx -s stop				//停止
./nginx -s reload			//重载配置文件

实现反向代理

什么是反向代理?

  1. 反向代理(Reverse Proxy)方式是指以代理服务器来接受请求,然后将请求转发给内网上的服务器,并将从服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器,不暴露真实IP地址
  2. nginx.conf 配置
    server {
        listen       80;
        server_name  xxxx.com; 
        location / {
    	    proxy_pass  http://127.0.0.1:8080;
    		index  index.html index.htm;
        }
    }
    

    server_name:虚拟域名
    proxy_pass:虚拟域名映射ip端口

实现负载均衡

什么是负载均衡?

  1. 将请求通过内部算法将请求平均分担到多个服务器上,用于分担单个服务启压力
  2. 负载均衡有三种配置策略
    1、轮询(默认)
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    upstream backserver { 
    	server 192.168.0.14; 
    	server 192.168.0.15; 
    } 
    
    2、指定权重
    指定轮询几率,weight用于指定访问比率,用于后端服务器性能不均的情况。
    upstream backserver { 
    	server 192.168.0.14 weight=10; 
    	server 192.168.0.15 weight=1; 
    } 
    
    3、IP绑定 ip_hash
    每个请求访问时会分配一个ip跟服务器绑定,这样每个请求都会固定访问一个后端服务器。
    session解决方案的一种
    upstream backserver { 
    	ip_hash; 
    	server 192.168.0.14:88; 
    	server 192.168.0.15:80; 
    } 
    
  3. 配置代码
upstream backserver { 			//配置负载均衡
	server 127.0.0.1:8080; 
    server 127.0.0.1:8081; 
} 
server {
	listen       80;
	server_name  xxxx.com;				//虚拟域名
	location / {
		proxy_pass  http://backserver;		//指向upstream
		index  index.html index.htm;
		proxy_connect_timeout 1       
		proxy_send_timeout 1;
	    proxy_read_timeout 1;
    }
}

upstream:配置负载均衡策略
proxy_pass:指向负载均衡配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值