文章目录官网location 规则详解动态Proxy使用多个 if 指令指定不同的 proxy_pass根据参数选择不同的 proxy_pass 官网https://nginx.org/en/docs/http/ngx_http_core_module.html#locationlocation 规则详解Nginx的location指令工作原理如下:位置匹配: 
  Nginx根据规范化的URI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-26 14:28:54
                            
                                78阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            location / {   root html;}/ 匹配所有= /  精准匹配            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-12-13 10:21:50
                            
                                310阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            语法规则: location [=|~|~*|^~] /uri/ { … }= 表示精确匹配,这个优先级也是最高的 
 ^~ 表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。nginx 不对 url 做编码,因此请求为/static/20%/aa,可以被规则 
 ^~ /static/ /aa 匹配到(注意是空格)。 
 ~表示区分大小写的正则匹配 
 ~* 表示不区分大小写的正            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-06 12:49:09
                            
                                319阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             在开始处理一个http请求时,nginx会取出header头中的host,与nginx.conf中每个server的server_name进行匹配,以此决定到底由哪一个server块来处理这个请求。server_name与host匹配优先级如下:1、完全匹配2、通配符在前的,如*.test.com3、在后的,如www.test.*4、正则匹配,如~^\.www\.test\.com$如            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-19 15:54:21
                            
                                674阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. Nginx 通配符匹配  按照匹配规则的优先级,由高到低:= 表示精确匹配
^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格,即所见即所得)。
~ 正则匹配(区分大小写)
~* 正则匹配(不区分大小写)
!~ 和 !~*  分别为区分大小写            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-12 08:08:03
                            
                                231阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             Nginx的Location可以有以下几个匹配:
1. =   严格匹配这个查询。如果找到,停止搜索。
2. ^~ 匹配路径的前缀,如果找到,停止搜索。
3. ~   为区分大小写的正则匹配  
4. ~* 为不区分大小写匹配
例子:
location = / {
# matches the query / on            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2011-05-13 11:06:04
                            
                                10000+阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            nginx location匹配规则location匹配命令~   #波浪线表示执行一个正则匹配,区分大小写~*  #表示执行一个正则匹配,不区分大小写^~  #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=   #进行普通字符精确匹配@   #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_filesloc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-09-15 12:34:15
                            
                                518阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            location匹配命令~   #波浪线表示执行一个正则匹配,区分大小写~*  #表示执行一个正则匹配,不区分大小写^~  #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=   #进行普通字符精确匹配@   #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_fileslocation 匹配的优先级(与loca            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-10-23 15:34:35
                            
                                2140阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            location匹配命令~      #波浪线表示执行一个正则匹配,区分大小写 ~*     #表示执行一个正则匹配,不区分大小写 ^~     #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 =      #进行普通字            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-03-02 12:23:58
                            
                                1893阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             因为Flask比较容易上手,之前也拿flask写过几个小项目,不过当时天真地以为只要在服务器上nohup跑一个python脚本就算是成功发布了这个flask项目。实际上这还面临很多问题,比如并发性不好,不支持异步(虽然也可以在run里面加上threaded之类的参数来解决,但终究不是正途)等等。真正通用的做法应该是用某些web容器来启动项目。接下来说明做法  我测试部署的系统是Cent            
                
         
            
            
            
             1.Nginx的配置描述     1.1 Nginx的配置项         配置文件为:nginx.confuser www www;
worker_processes 4;
worker_cpu_affinity 00000001 00000010 00000100 00001000;
#pid /us            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-12 12:24:45
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            nginx中location匹配命令            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2014-02-19 18:00:03
                            
                                674阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            location匹配命令~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录= #进行普通字符精确匹配@ #”@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_fileslocation 匹配的优先级(与location在配置文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2015-06-25 11:31:43
                            
                                376阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            语法规则 location [ = | ~ | ~* | ^~ | @ ] uri { ... } location @name { ... } location uri { ... } // 没有修饰符 = :精确匹配。只有请求的url路径与配置的字符串完全相等时,才会命中 ^~ :前缀匹配,在正 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-16 18:14:00
                            
                                418阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            location匹配命令~      #波浪线表示执行一个正则匹配,区分大小            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-05-19 14:19:25
                            
                                137阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            location    语法:location[=|~|~*|^~]/uri/{...}    默认值:0    使用字段:server    这个参数根据URI的不同需求来进行配置,可以使用字符串与正则表达式匹配。如果要使用正则表达式,你必须指定下列前缀:    =:精确匹配   &nb            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2014-03-22 20:56:10
                            
                                887阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             模式			含义		location = /uri			= 表示精确匹配,只有完全匹配上才能生效		location ^~ /uri            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-18 15:58:55
                            
                                200阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            转自:http://www.nginx.cn/115.htmllocation匹配命令~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=                  
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2013-07-11 16:33:50
                            
                                822阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            location匹配命令~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=      #进行普通字符精确匹配@   &            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2014-05-28 15:29:10
                            
                                533阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            location匹配命令~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录=      #进行普通字符精确匹配@     #"@"            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                            精选
                                                        
                            2016-07-26 10:37:22
                            
                                625阅读