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/下的静态文件。同样的也可以代理盘符下其他目录的文件。路径配置合理即可
    
    


>欢迎关注和点赞,以及总结的分类面试题https://github.com/zhendiao/JavaInterview
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容