nginx相关知识总结

nginx配置属性总结

全局属性
worker_processes 1; worker进程数量,通常配置为与cpu核数相同 默认为1
events属性
worker_connections 1024;服务器与⽤户的⽹络连接,⽐如worker_connections 1024,标识每个workderprocess⽀持的最⼤连接数为1024
http属性
http属性是配置最频繁的部分,虚拟主机的配置,监听端⼝的配置,请求转发、反向代理、负载均衡等,后面配置时再详细讲解

nginx用法总结

反向代理

新增tomcat默认服务并启动。配置如下反向代理,修改http属性下server和location配置为。多个配置可以配置多个location使用9999端口统一代理

  server {
        listen       9999;                               
        server_name  localhost;                          
                                                         
        #charset koi8-r;                                 
                                                         
        #access_log  logs/host.access.log  main;
                                                                           
        location / {                                                       
           proxy_pass http://127.0.0.1:8080;                               
           # root   html;                                                  
           # index  index.html index.htm;                                  
        }        
            

启动的效果为
file

负载均衡配置

首先除了之前原有的配置一个端口为8081且修改原tomcat默认页面Home元素为8081的tomcat并启动

轮询负载均衡配置

负载均衡的配置需要在http的模块下统一配置upstream属性,轮询负载均衡的配置

    upstream roundServer {                                                 
            server 127.0.0.1:8080;                                         
            server 127.0.0.1:8081;                                         
                                                                           
     }   

同时在需要配置的路由地址中配置upstream就能实现nginx的负载均衡,例如

       location /round {                                 

           proxy_pass httP://roundServer/;               
        } 

随后访问http://119.45.52.68:9999/round 就发现8081和8080两个tomcat的配置交替出现

权重负载均衡

默认每个服务的权重是一样的。因此轮询即是一种正常的权重相同的负载均衡
下面将上述配置改为权重不同的配置

    upstream roundServer {                                                 
            server 127.0.0.1:8080 weight=3;                                
                                                                           
            server 127.0.0.1:8081 weight=1;                                
                                                                           
            
     }  

重新访问http://119.45.52.68:9999/round 可以发现8080默认的页面出现三次8081的页面才出现一次

ip_hash负载均衡

每个请求按照ip的hash结果分配,每⼀个客户端的请求会固定分配到同⼀个⽬标服务器处理,可
以解决session问题

        upstream roundServer {    
                   in_hash;
            server 127.0.0.1:8080;                                         
            server 127.0.0.1:8081;                                         
                                                                           
     }   

###  Nginx的动静分离
由于Nginx很适合用来处理静态资源,所以在实际使用中经常用来直接代理静态资源
代理静态资源配置
```
        location /statichtml/ {                                            
        root staticData                                                
    }  
```
此处代理的即是nginx安装目录下staticData/statichtml/下的静态文件。同样的也可以代理盘符下其他目录的文件。路径配置合理即可



欢迎搜索关注本人与朋友共同开发的微信面经小程序【大厂面试助手】和公众号【微瞰技术】

你可能感兴趣的:(java)