1.nginx的基本作用
2.选择nginx的理由
a) 支持 5w 的并发。
b) 内存消耗少。
c) 成本低。
d) 节省带宽(??)。
e) 配置简单,支持重写( Rewrite ),内置健康检查,热部署,稳定性高。
3.nginx中location模块的详细参数介绍
Nginx的Location可以有以下几个匹配:
1. = 严格匹配这个查询。如果找到,停止搜索。
2. ^~ 匹配路径的前缀,如果找到,停止搜索。
3. ~ 为区分大小写的正则匹配
4. ~* 为不区分大小写匹配
5.!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
文件及目录匹配
* -f和!-f用来判断是否存在文件
* -d和!-d用来判断是否存在目录
* -e和!-e用来判断是否存在文件或目录
* -x和!-x用来判断文件是否可执行
4.Nginx配置语法
详情看(http://hi.baidu.com/wastorode/blog/item/39bf710a132550db7acbe1ed.html)
5.详解一个实例
配置项详解。 #使用的用户和组 #user nobody; #衍生进程数(是cpu数的两倍) worker_processes 4; #系统默认的日志文件在nginx\logs 下 #错误日志 #error_log logs/error.log; #指定pid存放路径 #pid logs/nginx.pid; events { #使用网络I/O模型,Linux系统推荐采用epoll。 user epoll; #允许的最大连接数 worker_connections 51200; } http { include mime.types; default_type application/octet-stream; #设置字符集,如果有多个字符集,就不要随便设置,应该在html中通过meta设置 #charset utf-8; #部分nginx的全局变量。 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; #设置客户端能够上传的文件大小 #client_max_body_size 8m; #允许发送文件 sendfile on; #超时时间 keepalive_timeout 65; #关闭gzip压缩 gzip off; #负载均衡的主要模块 upstream ttpod { #weight 服务器权重,值高分配到的客户端越多,默认1 server www.ttpod.com:80 weight=1; #max_fails指定的时间内对后端服务器请求失败的次数。默认1.fail_timeout经历失败后的暂停时间。 server www.baidu.com:80 max_fails=1 fail_timeout=30s; server www.google.cn:80; #还有backup服务器的设置。略 } #设定虚拟服务器1 server { listen 80; #我的内网ip。 server_name localhost 192.168.3.33; #access_log logs/host.access.log main; location / { set $ismob 0; #if指令 ~区分大小写,~*不区分大小写 if ( $http_user_agent ~* "nokia" ) { set $ismob 1; #break;跳出 proxy_pass http://wap.ttpod.com; } #空的UA默认为手机访问,^为起始位置,$为结束位置。 if ( $http_user_agent ~ ^$ ) { set $ismob 1; proxy_pass http://wap.ttpod.com; } #跳转到负载均衡设置中。 proxy_pass http://ttpod; proxy_redirect default; } } }