首页 > 代码库 > Nginx 补充
Nginx 补充
502 Bad Gateway可能性之一(Ubuntu 12.04+Nginx+uWSGI+Django )
原来是Ubuntu12.04源列表中的Nginx版本太低了(才1.1.9貌似),自己去官网下了最新的,编译安装,搞定!Nginx配置
Nginx的配置文件是/etc/nginx/nginx.conf,其中设置了一些必要的参数,我们发现其中这样的语句:
include /etc/nginx/sites-enabled/*
可以看出/etc/nginx/sites-enabled/default文件也是一个核心的配置文件,其中包含了主要的配置信息,
如服务器跟目录、服务器名称、location信息和server信息。
对于源代码安装的nginx,配置文件为/usr/local/nginx/conf/nginx.conf。
下面主要说明location的匹配规则:
(1)= 前缀的指令严格匹配这个查询。如果找到,停止搜索。
(2)剩下的常规字符串,最长的匹配优先使用。如果这个匹配使用 ^~ 前缀,搜索停止。
(3)正则表达式,按配置文件里的顺序,第一个匹配的被使用。
(4)如果第三步产生匹配,则使用这个结果。否则使用第二步的匹配结果。
在location中可以使用常规字符串和正则表达式。
如果使用正则表达式,你必须使用以下规则:
(1)~* 前缀选择不区分大小写的匹配
(2)~ 选择区分大小写的匹配
例子:
location = / {
# 只匹配 / 查询。
[ configuration A ]
}
location / {
# 匹配任何查询,因为所有请求都以 / 开头。
# 但是正则表达式规则和长的块规则将被优先和查询匹配。
[ configuration B ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开头的任何查询并且停止搜索。
# 任何正则表达式将不会被测试。
[ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
# 匹配任何以 gif、jpg 或 jpeg 结尾的请求。
# 然而所有 /images/ 目录的请求将使用 Configuration C。
[ configuration D ]
}