Nginx-反向代理实现

1:反向代理:Reverse proxy
反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端
1.1: 源码安装nginx:

 yum install openssl openssl-devel pcre pcre-devel gcc gcc-c++ make autoconf automake -y 
mkdir /apps
cd /apps
wget  http://nginx.org/download/nginx-1.12.2.tar.gzuseradd nginx -s /sbin/nologin -M
tar xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --user=nginx --group=nginx --prefix=/apps/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module
make
make install

1.2: 编辑配置文件

 vim /etc/nginx/nginx.conf       
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        server_name  www.test.org;

        location / {
        root /apps/nginx/html/www;
        }
        access_log      /var/log/nginx/access_www.log main;
    }
}

1.3: web站点配置hosts解析

[root@centos ~]# tail -1 /etc/hosts
192.168.138.103   www.test.org 
[root@centos ~]# curl www.test.org
test-index

1.4: 最基本的负载均衡

vim /application/nginx/conf/nginx.conf       
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream myapp1 {
        #<== upstream 是关键字必须要有,后面的myapp1为一个Upstream集群组的名字,可以自定义,调用时就用这个名字。
        server 192.168.138.103 weight=1;
        #<==server 关键字是固定的,后面可以接域名或IP,如果不指定端口,默认是80端口。weight 代表权重,数值越大被分配到请求越多,默认值为1,所以此处可写可不写。结尾有分号,别忘了;
        server 192.168.139.104 weight=1;
     }
    server {
        listen       80;
        server_name  localhost;
    location / {
            proxy_pass http://myapp1;
        }
    }
}
 /apps/nginx/sbin/nginx -t        //检查语法是否错误
 /apps/nginx/sbin/nginx -s reload  //重新加载配置文件

1.5: 基于权重(wrr)

upstream myapp1 {
    server 192.168.3.103 weight=1;
    server 192.168.3.104 weight=2;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值