Nginx使用

Nginx应用场景

反向代理:拦截所有请求,转发到真实的服务器,隐藏真实IP地址(抓包工具也抓取不到真实ip地址),提高安全性  

负载均衡:减少单台服务器的压力和故障转移

虚拟主机:将一台主机可以部署多个网站,可以是基于域名的虚拟主机,也可以是基于端口的虚拟主机

http服务器:静态资源服务器

 

 基于域名的虚拟主机配置

http {
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
    
    ## 当客户端访问nginx 的时候,拦截域名访问为www.xxx.com,监听端口号为80,匹配所有url地址
    ##  root   data/www; 相对于nginx的安装目录
    server {
        listen       80;
        server_name  www.xxx.com;
        location / {
            root   data/www;
            index  index.html index.htm;
        }

    }
    
    server {
        listen       80;
        server_name  bbs.xxx.com;
        location / {
            root   data/bbs;
            index  index.html index.htm;
        }

    }
}

 

基于端口的虚拟主机配置

http {
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
    
    server {
        listen       8080;
        server_name  www.xxx.com;
        location / {
            root   data/www;
            index  index.html index.htm;
        }

    }
    
    server {
        listen       8081;
        server_name  www.xxx.com;
        location / {
            root   data/bbs;
            index  index.html index.htm;
        }

    }
}

 

反向代理配置

(一般是nginx单独一台服务器,真实服务器和nginx在同一局域网内,将请求转发到真实服务器上,真实服务器设置为外网无法访问,提高安全性)

http {
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
    
    server {
        listen       80;
        server_name  www.xxx.com;
        location / {
            ##反向代理到内网或者外网地址都可以,推荐使用内网
            proxy_pass   http://127.0.0.1:8081/;
        }

    }
}

 

负载均衡配置

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #配置了3台真实服务器,并配置了负载均衡的策略为权重
    upstream  backServer{
        server 127.0.0.1:8080  weight=1;
        server 127.0.0.1:8081  weight=1;
        server 127.0.0.1:8082  weight=1;
    }


    server {
        listen       80;
        server_name  www.irish.com;
    
        location / {
            proxy_pass   http://backServer/;
            #配置故障转移,超时3秒就转发到可以正常访问的服务器
            #当发生故障的服务器恢复正常后,nginx会自动把该服务器添加进来
            proxy_connect_timeout 3s;
            proxy_send_timeout 3s;
            proxy_read_timeout 3s;
            
        }
        
    }

}

 

域名相同,以项目名称区别反向代理的服务器

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;


    server {
        listen       80;
        server_name  www.xxx.com;
        #这里反向代理要以斜杠结尾,
        #访问http://www.xxx.com/tomcat8080/  地址实际上对应的是http://127.0.0.1:8080/  
        # 在访问地址后面追加的路径也会同样追加在代理地址后面
        location /tomcat8080/ {
            proxy_pass   http://127.0.0.1:8080/;
            
        }
        
        location /tomcat8081/ {
            proxy_pass   http://127.0.0.1:8081/;
            
        }
    }

}

 

posted @ 2019-07-04 16:51  踏月而来  阅读(200)  评论(0编辑  收藏  举报