首页   快速返回

nginx知识点整理     所属分类 nginx
Nginx知识点
http://developer.51cto.com/art/201903/593186.htm




高性能的HTTP和反向代理服务器

使用场景

解决跨域
请求过滤
配置gzip
负载均衡
静态资源服务器
 
正向代理与反向代理

正向代理 部署在 客户端
反向代理 部署在 服务端 
请求转发,负载均衡

nginx配置文件结构





main:nginx的全局配置,对全局生效。
events:配置影响nginx服务器或与用户的网络连接。
http:可以有多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。
server:配置虚拟主机的相关参数,一个http中可以有多个server。
location:配置请求的路由,以及各种页面的处理情况。
upstream:配置后端服务器具体地址,负载均衡的重要配置。
 

内置变量 
可全局使用

$host 请求信息中的Host,如果请求中没有Host行,则等于设置的服务器名 
$request_method  客户端请求类型,如GET、POST 
$remote_addr     客户端的IP地址  
$args  请求中的参数  
$content_length   请求头中的Content-length字段 
$http_user_agent 客户端agent信息 
$http_cookie  客户端cookie信息 
$remote_addr  客户端的IP地址 
$remote_port  客户端的端口  
$server_protocol  请求使用的协议,如HTTP/1.0、·HTTP/1.1` 
$server_addr  服务器地址 
$server_name 服务器名称
$server_port 服务器的端口号


跨域

前端server front.server.com
后端server back.server.com
 
server {  
        listen       80;  
        server_name  fe.server.com;  
        location / {  
                proxy_pass dev.server.com;  
        } 
} 


根据请求类型过滤
if ( $request_method !~ ^(GET|POST|HEAD)$ ) {  
        return 403;  
} 
    

负载均衡


Upstream指定后端服务器地址列表


upstream backendServers {  
    server 127.0.0.1:7000;  
    server 127.0.0.1:7001;  
    server 127.0.0.1:7002;  
} 

server {  
       server_name  front.server.com;  
       listen 80;  
       location /xxx {  
           proxy_pass http://backendServers;  
       }  
} 


负载均衡的策略
轮询策略
最小连接数策略 least_conn
最快响应时间策略 fair
客户端ip绑定 ip_hash


upstream backendServers {  
    ip_hash
    server 192.168.0.10:7000;  
    server 192.168.0.11:7001;  
    server 192.168.0.12:7002;  
}

上一篇     下一篇
mysql各种日志文件介绍

mysql运维命令

nginx安装及配置

nginx配置详解

nginx超时配置

nginx状态监控