Nginx(2)

虚拟主机配置

虚拟主机通过http中的server段来进行配置,一个最简单的配置如下:

http {
    server {
        # Server configuration
    }
}

listen字段配置监听的IP地址和端口

server {
    listen 127.0.0.1:8080;
    # The rest of server configuration
}

同时可以用host字段来区分不同的虚拟主机。Nginx 按照下列顺序匹配主机:

  1. 准确的名称: www.example.org
  2. 通配符开始泛域名 *.example.org
  3. 通配符结束的泛域名:mail.*
  4. 最开始匹配到的正则表达式。

如果请求没有匹配到任何一个,那么匹配到默认主机。

server {
    listen      80 default_server;
    ...
}

location 配置

匹配确定的URL

比如:

location /some/path/ {
    ...
}

这个会匹配/some/path/document.html, 但是不会匹配/my-site/some/path,因为是从头开始匹配的。

正则表达式匹配

location中可以使用~进行大小写区分匹配,~* 进行大小写不区分匹配。比如:

location ~ \.html? {
    ...
}

这个location 匹配 url 中包括.html 和.htm
在location中,正则表达式的优先级为,越详细的正则表达式越优先。

返回HTTP控制码

可以通过在location中定义行为来返回指定的http代码。例如:

location /wrong/url {
    return 404;
}
location /permanently/moved/url {
    return 301 http://www.example.com/moved/here;
}

URL 重写

location /users/ {
    rewrite ^/users/(.*)$ /show?user=$1 break;
}
server {
    ...
    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  last;
    return  403;
    ...
}

你可能感兴趣的:(Nginx(2))