Skip to content

Nginxserver_name 配置主机名称

Nginx 中的 server_name 指令主要用于配置基于名称的虚拟主机,其说明如下表所示:

名称主机名指令
指令server_name
作用域server
默认值--
指令说明设定所在 server 指令域的主机名

配置样例如下所示:


http {
    server {
        server_name example.com .example.com; # 泛域名的使用
        server_name www.example.;             # 多个后缀域名的使用server_name
        www.example.com ~^www.example.com$;   # 正则表达式匹配
        
        # 正则匹配变量的场景
        server_name ~^(www\.)?(.+)$;
        location / {
            root /sites/$2;
        }
        
        # 正则匹配为变量的场景
        server_name ~^(www\.)?(?<domain>.+)$;
        location / {
            root /sites/$domain;
        }
    }
}

当 server_name 指令值中有多个主机名时,第一个主机名为首主机名。