nginx的location优先级

        在nginx配置文件中,location主要有这几种形式:

  1. 正则匹配 location ~ /abc { }

  2. 不区分大小写的正则匹配 location ~* /abc { }

  3. 匹配路径的前缀,如果找到停止搜索 location ^~ /abc { }

  4. 精确匹配 location = /abc { }

5.普通路径前缀匹配 location /abc { }

阅读全文 >>

nginx中location的规则

语法规则

1
location [=|~|~*|^~] /uri/ { … }
  • = 开头表示精确匹配
  • ^~ 开头表示uri以某个常规字符串开头,不是正则匹配。#^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
  • ~ 开头表示区分大小写的正则匹配
  • ~* 开头表示不区分大小写的正则匹配
  • !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
  • / 通用匹配,任何请求都会匹配到。
  • @ #”@” 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files如 error_page, try_files

阅读全文 >>

MongoDB Master:MongoDB“诟病”分析

        近期MongoDB在Hack News上是频繁中枪。许多人更是声称恨上了MongoDB,David mytton就在他的博客中揭露了MongoDB许多现存问题。然而恨的人有之偏爱的也同样很多,作为回击:Russell Smith带来了多年工作经验的总结。Russell Smith曾担任Ops和大型网站缩放顾问并且帮助过Guardian、Experian等多家公司,MongoDB London User Group的联合创始人。作为MongoDB Master(MongoDB官方认可的MongoDB核心贡献者组织,并通过社区分享自己的专业技术),其参与工作的基础设施单服务器每秒查询超过3万次,每天活跃数据更在1TB以上。

        下面来看Russell对MongoDB一些常见及生僻的问题做出分析:

阅读全文 >>

MongoDB 副本集搭建

.MongoDB 副本集(repl set)介绍

        早期版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主

        目前已经淘汰master-slave模式,改为副本集,这种模式下有一个主(primary),和多个从(secondary),只读。支持给它们设置权重,当主宕掉后,权重最高的从切换为主

阅读全文 >>

MongoDB 安装

1. 搭建 yum 源

        如果安装epel扩展源,可以安装mongodb2.4版本,但这次我们要安装3.0版本,官方提供的源只支持64位系统

        编辑 /etc/yum.repos.d/mongodb-org-3.0.repo

1
[root@mongodb ~]# vim /etc/yum.repos.d/mongodb-org-3.0.repo

阅读全文 >>