1.简介

高性能的HTTP和反向代理的Web服务器,占内存少,并发能力强。

2.配置文件

结构

nginx.conf
 ├── 全局块
 ├── events
 └── http
     └── server
         └── location
全局块主要设置nginx服务器的整体配置命令,用户,worker process数,进程PID路径,日志路径等。
events块每个work process支持的最大连接数
http块代理、缓存和日志以及各种属性的值和第三方模块的配置
server块地址定向、数据缓存和应答控制等

3.反向代理

指令规则

location [= | ~ | ~*| ^~] url{

}
= :用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
~ :用于表示url包含正则表达式,并且区分大小写。
~* :用于表示url包含正则表达式,并且不区分大小写。
^~ :用于不含正则表达式的url前,要求Nginx服务器找到标识url和请求字
符串匹配度最高的location后,立即使用此location处理请求,而不再使用 location
块中的正则url和请求字符串做匹配。

例:

#PROXY-START/

location ^~ /
{
    # 代理6443端口
    proxy_pass http://127.0.0.1:6443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    add_header X-Cache $upstream_cache_status;
    
    #Set Nginx Cache
    
    
    set $static_fileEZHQIxW9 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_fileEZHQIxW9 1;
    	expires 12h;
        }
    if ( $static_fileEZHQIxW9 = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

#PROXY-END/

4.负载均衡

轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

weight
weight 代表权重,默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。

fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

未完待续