月度归档:2016年09月

Nginx中http_core_module的配置

1、aio(异步IO)

Syntax: aio on | off | threads[=pool]; #不知道什么原因 on设置在1.11版本中,不可用
Default: aio off;
Context: http, server, location
  • 在linux平台下,nginx的aio和sendfile不能同时生效。
  • aio和sendfile同时开启的情况下,当请求的文件大小>= direction,aio生效,反之sendfile生效。
  • 对于大文件采用aio,节省cpu,而对于小文件,采用sendfile,减少拷贝;并且对于大文件aio采用directio,避免挤占文件系统缓存,让文件系统缓存更多的小文件。

继续阅读

Nginx Location配置总结

语法:location [=|~|~*|^~] /uri/ { … }
配置块:server

  • =表示将URI作为字符串,以便于参数中的URI做完全匹配。
  • ~表示匹配URI时,字母大小写是敏感的。
  • ~*表示匹配URI时,忽略字母大小写。
  • ^~表示匹配URI时,只需要前半部分与uri参数匹配即可。
  • @表示用于nginx服务器内部请求之间的重定向,带有@的location不直接处理用户请求。
  • uri参数可以使用正则表达式。
  • 使用locaiton / {}可以匹配所有的请求。
  • 首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

继续阅读

tcp参数详解之tcp_fin_timeout

tcp_fin_timeout :INTEGER
默认值是 60
对于本端断开的socket连接,TCP保持在FIN_WAIT_2状态的时间。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。默认值为 60 秒。过去在2.2版本的内核中是 180 秒。您可以设置该值﹐但需要注意﹐如果您的机器为负载很重的web服务器﹐您可能要冒内存被大量无效数据报填满的风险﹐FIN-WAIT-2 sockets 的危险性低于 FIN-WAIT-1 ﹐因为它们最多只吃 1.5K 的内存﹐但是它们存在时间更长。另外参考 tcp_max_orphans

继续阅读

Redis的info命令详解

# Server
redis_version:3.2.3  //Redis的版本号
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:a63c5ae1f392752f
redis_mode:standalone
os:Linux 2.6.32-504.el6.x86_64 x86_64 //Linux版本

继续阅读