Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为:

1、准确的server_name匹配,例如:

server {listen       80;server_name  domain.com  www.domain.com;...
}

2、以*通配符开始的字符串:

server {listen       80;server_name  *.domain.com;     ...
}

3、以*通配符结束的字符串:

server {listen       80;server_name  www.*;...
}

4、匹配正则表达式:

server {listen       80;server_name  ~^(?.+)\.domain\.com$;     ...
}
nginx将按照1,2,3,4的顺序对server name进行匹配,只有有一项匹配以后就会停止搜索,所以我们在使用这个指令的时候一定要分清楚它的匹配顺序(类似于location指令)。
server_name指令一项很实用的功能便是可以在使用正则表达式的捕获功能,这样可以尽量精简配置文件,毕竟太长的配置文件日常维护也很不方便。下面是2个具体的应用:
1、在一个server块中配置多个站点:
server{listen       80;server_name  ~^(www\.)?(.+)$;index index.php index.html;root  /data/wwwsite/$2;}

站点的主目录应该类似于这样的结构:

/data/wwwsite/domain.com
/data/wwwsite/nginx.org
/data/wwwsite/baidu.com
/data/wwwsite/google.com

这样就可以只使用一个server块来完成多个站点的配置。

2、在一个server块中为一个站点配置多个二级域名。

实际网站目录结构中我们通常会为站点的二级域名独立创建一个目录,同样我们可以使用正则的捕获来实现在一个server块中配置多个二级域名:

server{listen       80;server_name  ~^(.+)?\.domain\.com$;     index index.html;if ($host = domain.com){         rewrite ^ http://www.domain.com permanent;     }root  /data/wwwsite/domain.com/$1/;   }

站点的目录结构应该如下:

这样访问www.domain.com时root目录为/data/wwwsite/domain.com/www/,nginx.domain.com时为/data/wwwsite/domain.com/nginx/,以此类推。

后面if语句的作用是将domain.com的方位重定向到www.domain.com,这样既解决了网站的主目录访问,又可以增加seo中对www.domain.com的域名权重。

关于Nginx的server_name。相关推荐

  1. Nginx中server_name指令介绍

    Nginx中server_name指令介绍 用途 根据官方文档说明,用来设置虚拟服务器,对于用IP还是请求头部中的Host字段内容设置这个指令的值,没有明确的分别. 用法 指令后跟特定域名,此时第一个 ...

  2. Nginx中server_name 参数详解

    Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server {list ...

  3. 正则 不区分大小写_4.nginx的server_name正则匹配

    有了default_server,小张心里松了一口气,不用担心server_name写错而白跑一趟了.但是要是Nginx没有设置default_server呢? 老王:"如果没有设置,那么我 ...

  4. Nginx的server_name匹配执行顺序

    由于server_name指令支持通配符和正则表达式,因此在包含多个虚拟主机的配置文件中,可能会出现一个名称被多个虚拟主机的server_name匹配成功,当遇到这种情况,当前的请求交给谁来处理呢? ...

  5. 【实际操作解决自己对nginx的listen和server_name以及dns的疑惑】

    1. 配置说明 /usr/local/nginx/conf/nginx.conf #user nobody; worker_processes 1; error_log logs/error.log; ...

  6. 必学必会的nginx配置location匹配顺序总结

    location 匹配规则: location 路径正则匹配: 符号 说明 ~ 正则匹配,区分大小写 ~* 正则匹配,不区分大小写 ^~ 普通字符匹配,如果该选项匹配,则,只匹配该选项,不再向下匹配其 ...

  7. Nginx Rewrite详解

    Nginx Rewrite详解 引用链接:http://blog.cafeneko.info/2010/10/nginx_rewrite_note/ 原文如下: 在新主机的迁移过程中,最大的困难就是W ...

  8. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  9. Nginx初学第一步

    Nginx 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第 ...

最新文章

  1. 位运算+取某一位+java_Java位运算小节
  2. 自动根据动态的intput计算值
  3. struts 普通的action
  4. 文巾解题383. 赎金信
  5. Spring学习总结一
  6. 乾云服务器虚拟化,乾云服务器虚拟化系统
  7. 计算机安全防范系统维护,安防系统维护与设备维修(全彩)
  8. HAPPY 2010
  9. bootstrap-引用-命名来源
  10. 性能优化篇 - Performance(工具 api)
  11. 计算机二级C语言考试题库软件
  12. jmeter-json提取器提取数据
  13. c语言超市收银台程序,超市收银电脑操作流程
  14. ThinkPad T61 X61安装XP系统的方法及xp驅動下載
  15. memsql-官宣世界最快的内存关系型数据库安装部署
  16. 利用 WAAPI 实现百叶窗切页效果
  17. 大数据揭秘诺奖评选“潜规则”
  18. 轻巧的jQuery提示框插件Tipso演示
  19. 2015移动安全病毒年报
  20. 西行漫记(11):数字化敏捷

热门文章

  1. 【视频课】深度掌握模型剪枝+模型量化+知识蒸馏3大核心模型压缩技术理论!...
  2. 【cntk速成】cntk图像分类从模型自定义到测试
  3. 中国水闸橡胶密封件市场需求状况与营销模式建议报告2022年
  4. 全球及中国手机便携式移动电源行业营销模式及投资竞争力分析报告2021-2027年版
  5. 全球及中国虚拟厨房(仅限外卖的餐厅)行业运营模式分析及发展规划建议研究报告2021-2027年版
  6. 功能性农业投融资-农业大健康·周荣江:国情讲坛体制创新
  7. 世界种业并购史 国际农民丰收节贸易会起底农化巨头构架
  8. 2018 Multi-University Training Contest 10 - CSGO
  9. Python 第2周 - Python基础-模块\数据运算
  10. JAVA的内存模型及结构