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 指令值中有多个主机名时,第一个主机名为首主机名。