• nginx 反向代理


    nginx 实现反向代理

    nginx 较常用的功能

    VMWare Workstation 里面装的Centos6.5,Nginx1.8.1(安装见上一篇:Nginx的安装)

    示例一:基于IP的虚拟主机

    增加一个网卡地址(原机器是192.168.56.129)

    ifconfig eth0:0 192.168.56.130
    

    建立两个测试网站

    mkdir /website1 #站点目录
    mkdir /website2 
    mkdir /website1/log #日志存放目录
    mkdir /website2/log
    echo "this is website1" >/website1/index.html #建立静态测试index页面
    echo "this is website2" >/website2/index.html
    

    修改Nginx 配置文件,两个server节点,分别配置 location 和log,server节点配置如下:

    # ----server1 ----
    server {
        listen       192.168.56.129:80;
        server_name  localhost;
    
        #charset koi8-r;
    
        access_log  /website1/log/access.log;
        error_log /website1/log/error.log;
    
        location / {
            root   /website1;
            index  index.html index.htm;
        }
    }
    # ----server2 ----
    server {
        listen       192.168.56.130:80;
        server_name  localhost;
    
        #charset koi8-r;
    
        access_log  /website2/log/access.log;
        error_log /website2/log/error.log;
    
        location / {
            root   /website2;
            index  index.html index.htm;
        }
    }
    

    重启nginx

    /usr/local/nginx1.8.1/sbin/nginx -s stop
    /usr/local/nginx1.8.1/sbin/nginx &
    

    在浏览器里面输入192.168.56.129 和192.168.56.130,分别看到如下页面

    示例2:基于主机头(域名)的配置

    修改nginx.conf的server1节点

    # ----server1 ----
    server {
        listen       192.168.56.129:80;
        server_name  www.website1.com;
    
        #charset koi8-r;
    
        access_log  /website1/log/access.log;
        error_log /website1/log/error.log;
    
        location / {
            root   /website1;
            index  index.html index.htm;
        }
    }
    

    重启nginx

    /usr/local/nginx1.8.1/sbin/nginx -s stop
    /usr/local/nginx1.8.1/sbin/nginx &
    

    然后修改客户端host文件(c:/windows/system32/drivers/etc),hosts文件末尾增加

    192.168.56.129 www.website1.com
    

    然后在浏览器里输入www.website1.com,效果如下图:

    无法访问的,可以重启DNS Client 服务试试

    配置远程服务

    可以随便用其他线上服务,本示例用以前的一个tomcat服务,如下

    修改nginx.conf的server2节点

    server {
        listen       80;
        server_name  www.website2.com;
        location  / {
            proxy_pass http://88.88.88.88:8088;
            proxy_redirect default;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    

    重启nginx

    /usr/local/nginx1.8.1/sbin/nginx -s stop
    /usr/local/nginx1.8.1/sbin/nginx &
    

    然后修改客户端host文件(c:/windows/system32/drivers/etc),hosts文件末尾增加

    192.168.56.130 www.website2.com
    

    浏览器端输入www.website2.com 或者192.168.56.130 ,效果如下(对照上图):

  • 相关阅读:
    阿里图标库引用简介---20200608更新
    2.10排序算法
    2.9Node节点的学习
    2.8DOM节点的学习
    2.5数组
    2.6对象和函数
    2.7变量、内存、Math和Date的初级认识
    css优先级问题
    事件委托(事件代理)初认识
    静态页面学习随笔(1)-如何正确布局大体结构
  • 原文地址:https://www.cnblogs.com/sloong/p/5360490.html
Copyright © 2020-2023  润新知