总共分为三个部分
1,worker_processes
nginx要开启的进程数,默认为1,一般不用改,改的话官方建议改成CPU的内核数。
2,events
表示每个work_processes的最大连接数是1024
3,http
代理,缓存,日志记录,第三方模块配置
入门基本用于动静分离,负载均衡,反向代理
listen 80 default_server;
listen 80:nginx首先决定哪个服务器应该处理请求在这个配置中
default_server:nginx只测试请求的头字段“Host”,如果值与服务器名称不匹配,不包含这个头字段,nginx会将请求路由到default_server。
server_name:
nginx根据服务器块的侦听指令测试请求的IP地址和端口。然后,它根据与IP地址和端口匹配的server_name请求的“主机”头字段。如果找不到服务器名称,则默认服务器处理该请求。
location
“/”表示接收任何请求,可用正则表达式指定访问规则
~ 区分大小写匹配
~* 不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
^ 以什么开头的匹配
$ 以什么结尾的匹配
root:地址为,root/location后面的目录。
比如location /img{
root /home/src;
}
访问的目录则是 /home/src/img
proxy_pass:反向代理的参数
测试负载均衡
开两个tomcat,一个8081,一个8080,用proxy_pass代理myserver。访问后的负载均衡默认是轮询,如果不想轮询,可以在upstream的server后面,加上weight=2,意思是改变权重为2,如:server 120.78.214.12:8080 weight=2; 数字越高权重越高。
还有种方式是iphash:每个请求按访问ip的hash结果分配,这样客户端就是固定访问一个服务器,可以解决session共享的问题。加在upstream即可。