nginx创建反向代理和虚拟主机的例子

发布时间:2020-06-07编辑:脚本学堂
nginx创建反向代理和虚拟主机的例子,windows环境下做Nginx实验,用NPMserv工具搭建好系统运行环境。

nginx创建反向代理和虚拟主机的例子,有需要的朋友可以参考下。

windows环境下做Nginx实验,用NPMserv工具搭建好系统运行环境。

1.编辑nginxconfnginx.conf
添加修改以下内容:
 

复制代码 代码如下:

#user nobody;
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid        logs/nginx.pid;
events {
    worker_connections 64;
}
http {
    include       mime.types;
    default_type application/octet-stream;
    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 logs/access.log main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout 0;
    keepalive_timeout 65;
    #设定请求缓冲
    client_header_buffer_size    1k;
    large_client_header_buffers 4 4k;
    #开启gzip模块
    gzip on;
    gzip_min_length 1100;
    gzip_buffers     4 8k;
    gzip_types       text/plain;
    output_buffers   1 32k;
    postpone_output 1460;
    #指向本地服务器的不同端口做虚拟主机
    upstream web1.jb200.com {
        server 192.168.70.199:8001;
    }  
    upstream web2.jb200.com {
        server 192.168.70.199:8002;
    }  
    upstream web3.jb200.com {
        server 192.168.70.199:8003;
    }
   #指向其他服务器做反向代理   
   upstream www.jb200.com {
        server 192.168.70.17:80;   
    }
#整站做反向代理
server {
        listen       80;
        server_name www.jb200.com;
        #charset koi8-r;
        access_log logs/host.access.log main;
        location / {
            #root   html;
            #index index.html index.htm;
           proxy_pass http://www.jb200.com;
             include proxy.conf;
        }
 }
#将某个虚拟目录做反向代理
server {
        listen       80;
        server_name app.jb200.com;
        #charset koi8-r;
        access_log logs/host.access.log main;
        location / {
            #root   html;
            index index.html index.htm;
            proxy_pass http://www.jb200.com/apps/home/;
            include    proxy.conf;
        }
}
#为本地虚拟主机web3做反向代理
server {
        listen       80;
        server_name web3.jb200.com;
        #charset koi8-r;
        access_log logs/host.access.log main;
        location / {
            #root   html;
            #index index.html index.htm;
            proxy_pass http://web3.jb200.com;
            include proxy.conf;
}
         #location /NginxStatus {
                       # stub_status             on;
                       # access_log              on;
                        #auth_basic              "NginxStatus";
                        #auth_basic_user_file conf/htpasswd;
                #}
        #error_page 404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
            root   html;
        }
        # proxy the PHP scripts to apache listening on 127.0.0.1:80
        #
        #location ~ .php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to fastcgi server listening on 127.0.0.1:9000
        #
        #location ~ .php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index index.php;
        #    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /.ht {
        #    deny all;
        #}
    }

# 以下为指定虚拟机及端口号
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name somename alias another.alias;
    #    location / {
    #        root   html;
    #        index index.html index.htm;
    #    }
    #}
    server {
        listen          8001;
        server_name     web1.jb200.com;
        access_log      logs/jbxue1.access.log main;
        location / {
            index index.html;
            root html1;
        }
    }
    server {
        listen          8002;
        server_name     web2.jb200.com;
        access_log      logs/jbxue2.access.log main;
        location / {
            index index.html;
            root html2;
        }
    }
    server {
        listen          8003;
        server_name     web3.jb200.com;
        access_log      logs/jbxue3.access.log main;
        location / {
            index index.html;
            root html3;
        }
    }
}
 

2.vi proxy.conf
 

复制代码 代码如下:
proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

3.重启nginx

4.测试:可以修改本地的host文件试试效果
127.0.0.1 web1.jb200.com
127.0.0.1 web2.jb200.com
127.0.0.3 web3.jb200.com

在nginx下复制html文件夹为html1、html2、html3,即对应虚拟主机的主目录,然后进行测试。

您可能感兴趣的文章:
Nginx负载均衡与反向代理的例子(图文)
Nginx Proxy 代理配置图片缓存的实例参考
nginx正向代理配置简单一例
nginx反向代理配置简单示例
学习Nginx反向代理实现简单负载均衡(图文)
nginx缓存html静态文件 解析php及反向代理IIS的配置
nginx中配置proxy正向代理
Nginx实现简单的反向代理
nginx的反向代理配置与优化
nginx反向代理与varnish缓存配置
nginx反向代理与负载均衡
Nginx 反向代理的小例子
nginx反向代理与缓存详解
nginx反向代理配置一例
Nginx反向代理Nginx
nginx反向代理配置和优化
Nginx Proxy代理和图片缓存配置
nginx配置反向代理的简单示例