Suche senden
Hochladen
高性能Web服务器Nginx及相关新技术的应用实践
•
Als PPT, PDF herunterladen
•
11 gefällt mir
•
1,351 views
Frank Cai
Folgen
Technologie
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 53
Jetzt herunterladen
Empfohlen
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
redhat9
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
Ansible 101
Ansible 101
YI-CHING WU
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
pigso
Empfohlen
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
ByPat博客出品-高性能Web服务器nginx及相关新技术的应用
redhat9
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
cachowu
高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器Nginx及相关新技术的应用实践
rewinx
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
OpenResty/Lua Practical Experience
OpenResty/Lua Practical Experience
Ho Kim
Ansible 101
Ansible 101
YI-CHING WU
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
pigso
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Cary Yang
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
guest2d0fe3
Kafka in Depth
Kafka in Depth
YI-CHING WU
Hadoop基线选定
Hadoop基线选定
baggioss
Deployment with Capistrano
Deployment with Capistrano
旭 張
Docker進階探討
Docker進階探討
國昭 張
Mysql proxy cluster
Mysql proxy cluster
Yiwei Ma
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Yiwei Ma
Monitor is all for ops
Monitor is all for ops
琛琳 饶
独爽不如众乐
独爽不如众乐
Zheng Biao
Linux集群应用实战 通过lvs+keepalived搭建高可用的负载均衡集群系统(第二讲)
Linux集群应用实战 通过lvs+keepalived搭建高可用的负载均衡集群系统(第二讲)
hik_lhz
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
OpenRestyCon
Perl在nginx里的应用
Perl在nginx里的应用
琛琳 饶
Puppet安装测试
Puppet安装测试
Yiwei Ma
Traffic server overview
Traffic server overview
qianshi
Docker應用
Docker應用
Jui An Huang (黃瑞安)
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
Alex Lau
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
Nginx+常见应用技术指南
Nginx+常见应用技术指南
andy54321
Varnish简介
Varnish简介
fangdeng
缓存技术浅谈
缓存技术浅谈
Robbin Fan
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Yiwei Ma
Weitere ähnliche Inhalte
Was ist angesagt?
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Cary Yang
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
guest2d0fe3
Kafka in Depth
Kafka in Depth
YI-CHING WU
Hadoop基线选定
Hadoop基线选定
baggioss
Deployment with Capistrano
Deployment with Capistrano
旭 張
Docker進階探討
Docker進階探討
國昭 張
Mysql proxy cluster
Mysql proxy cluster
Yiwei Ma
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Yiwei Ma
Monitor is all for ops
Monitor is all for ops
琛琳 饶
独爽不如众乐
独爽不如众乐
Zheng Biao
Linux集群应用实战 通过lvs+keepalived搭建高可用的负载均衡集群系统(第二讲)
Linux集群应用实战 通过lvs+keepalived搭建高可用的负载均衡集群系统(第二讲)
hik_lhz
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
OpenRestyCon
Perl在nginx里的应用
Perl在nginx里的应用
琛琳 饶
Puppet安装测试
Puppet安装测试
Yiwei Ma
Traffic server overview
Traffic server overview
qianshi
Docker應用
Docker應用
Jui An Huang (黃瑞安)
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
Alex Lau
Was ist angesagt?
(17)
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
Kafka in Depth
Kafka in Depth
Hadoop基线选定
Hadoop基线选定
Deployment with Capistrano
Deployment with Capistrano
Docker進階探討
Docker進階探討
Mysql proxy cluster
Mysql proxy cluster
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
Monitor is all for ops
Monitor is all for ops
独爽不如众乐
独爽不如众乐
Linux集群应用实战 通过lvs+keepalived搭建高可用的负载均衡集群系统(第二讲)
Linux集群应用实战 通过lvs+keepalived搭建高可用的负载均衡集群系统(第二讲)
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
Perl在nginx里的应用
Perl在nginx里的应用
Puppet安装测试
Puppet安装测试
Traffic server overview
Traffic server overview
Docker應用
Docker應用
應用Ceph技術打造軟體定義儲存新局
應用Ceph技術打造軟體定義儲存新局
Ähnlich wie 高性能Web服务器Nginx及相关新技术的应用实践
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
redhat9
Nginx+常见应用技术指南
Nginx+常见应用技术指南
andy54321
Varnish简介
Varnish简介
fangdeng
缓存技术浅谈
缓存技术浅谈
Robbin Fan
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Yiwei Ma
Paveo Tweak WordPress
Paveo Tweak WordPress
Yuancheng Yang
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
Cyril Wang
分享平台构建之旅
分享平台构建之旅
tblanlan
Lamp高性能设计
Lamp高性能设计
锐 张
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨
George Ang
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
构建基于Lamp的网站架构
构建基于Lamp的网站架构
Cosey Lee
開發環境建置
開發環境建置
Shengyou Fan
Cent os 安装 subversion
Cent os 安装 subversion
YUCHENG HU
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
PHP & AppServ
PHP & AppServ
Ht Wang
Hbase使用hadoop分析
Hbase使用hadoop分析
baggioss
摘星
摘星
zenyuhao
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Shengyou Fan
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
redhat9
Ähnlich wie 高性能Web服务器Nginx及相关新技术的应用实践
(20)
高性能Web服务器nginx及相关新技术的应用
高性能Web服务器nginx及相关新技术的应用
Nginx+常见应用技术指南
Nginx+常见应用技术指南
Varnish简介
Varnish简介
缓存技术浅谈
缓存技术浅谈
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
Paveo Tweak WordPress
Paveo Tweak WordPress
如何使用 Xhprof 分析網站效能 (真實案例2)
如何使用 Xhprof 分析網站效能 (真實案例2)
分享平台构建之旅
分享平台构建之旅
Lamp高性能设计
Lamp高性能设计
腾讯大讲堂08 可扩展web架构探讨
腾讯大讲堂08 可扩展web架构探讨
Hacking Nginx at Taobao
Hacking Nginx at Taobao
构建基于Lamp的网站架构
构建基于Lamp的网站架构
開發環境建置
開發環境建置
Cent os 安装 subversion
Cent os 安装 subversion
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
PHP & AppServ
PHP & AppServ
Hbase使用hadoop分析
Hbase使用hadoop分析
摘星
摘星
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Bypat博客出品-服务器运维集群方法总结2
Bypat博客出品-服务器运维集群方法总结2
Mehr von Frank Cai
把时间当朋友
把时间当朋友
Frank Cai
Fotolog.Com.Mashraqi Scaling
Fotolog.Com.Mashraqi Scaling
Frank Cai
WAP2.0
WAP2.0
Frank Cai
6 Dean Google
6 Dean Google
Frank Cai
高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt
Frank Cai
系统性能分析和优化.ppt
系统性能分析和优化.ppt
Frank Cai
Mehr von Frank Cai
(6)
把时间当朋友
把时间当朋友
Fotolog.Com.Mashraqi Scaling
Fotolog.Com.Mashraqi Scaling
WAP2.0
WAP2.0
6 Dean Google
6 Dean Google
高可用数据库平台架构及日常管理经验介绍.ppt
高可用数据库平台架构及日常管理经验介绍.ppt
系统性能分析和优化.ppt
系统性能分析和优化.ppt
高性能Web服务器Nginx及相关新技术的应用实践
1.
2.
3.
4.
5.
6.
单台 Nginx 支撑了高达
2.8 万的活动并发连接数 2009-09-03 14:30 ,金山游戏《剑侠情缘网络版 3 》临时维护 1 小时,大量玩家上官网,论坛、评论、客服等动态应用 Nginx 服务器集群,每台服务器的 Nginx 活动连接数达到 2.8 万,这是本人遇到的 Nginx 生产环境最高并发值。
7.
8.
9.
金山逍遥网 Nginx 七层负载均衡的应用
10.
Nginx 承担每个机房 Web
负载均衡服务
11.
简单的 Nginx 负载均衡配置①
…… upstream bbs_server_pool { server 192.168.1.15:80 weight=1 max_fails=2 fail_timeout=30s; server 192.168.1.16:80 weight=1 max_fails=2 fail_timeout=30s; server 192.168.1.17:80 weight=1 max_fails=2 fail_timeout=30s; server 192.168.1.18:80 weight=1 max_fails=2 fail_timeout=30s; } …… 在 nginx.conf 配置文件中,用 upstream 指令定义一组反向代理 / 负载均衡后端服务器池。
12.
简单的 Nginx 负载均衡配置②
…… server{ listen 80; server_name bbs.yourdomain.com *.bbs.yourdomain.com; location / { proxy_pass http://bbs_server_pool; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } access_log off; } ……
13.
14.
Nginx 负载均衡的双机热备
15.
通常情况下的负载均衡 HA 高可用
优点:实现了双机热备、故障自动转移。 缺点:备机服务器处于闲置状态,浪费了硬件资源。
16.
逍遥网 Nginx 负载均衡双机互备
正常情况下,两台 Nginx 负载均衡服务器全部处于活动状态,对外提供服务。
17.
18.
19.
20.
新的 Nginx 双机互备
( 发生故障时 ) 自动接管公网虚拟 IP ,实现故障转移
21.
22.
23.
Nginx 负载均衡 URL
分发
24.
硬件、软件 七层负载均衡对比: NetScaler
与 Nginx
25.
硬件、软件 七层负载均衡对比: NetScaler
与 Nginx
26.
根据不同的 URL 转发到不同服务器
server{ listen 80; server_name abc.domain.com; location ~ ^/admincp.php { proxy_pass http://192.168.1.11; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } location / { proxy_pass http://php_server_pool; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }
27.
Web 相关文件的实时自动同步
28.
29.
30.
Nginx 的 Web
缓存服务
31.
32.
反向代理中的 Nginx.conf 缓存配置①
…… # 设置 Web 缓存区名称为 cache_one ,缓存空间大小为 2000MB , 1 天清理一次缓存,单个文件超过 5m 不缓存。 proxy_cache_path /data0/proxy_cache_path levels=1:2 keys_zone=cache_one:2000m inactive=1d max_size=5m; # 注: proxy_temp_path 和 proxy_cache_path 指定的路径必须在同一分区 proxy_temp_path /data0/proxy_temp_path; upstream my_server_pool { server 192.168.1.2:80 weight=1 max_fails=2 fail_timeout=30s; server 192.168.1.3:80 weight=1 max_fails=2 fail_timeout=30s; } ……
33.
反向代理中的 Nginx.conf 缓存配置②
server { listen 80; server_name my.domain.com; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://my_server_pool; } location ~ .*(gif|jpg|jpeg|png|bmp|swf|js|css)$ { # 对图片、 JS 、 CSS 进行缓存,使用 Web 缓存区 cache_one proxy_cache cache_one;
34.
反向代理中的 Nginx.conf 缓存配置③
# 对不同 HTTP 状态码缓存设置不同的缓存时间 proxy_cache_valid 200 10m; proxy_cache_valid 304 3m; proxy_cache_valid 301 302 1h; proxy_cache_valid any 1m; # 设置 Web 缓存的 Key 值, Nginx 根据 Key 值 md5 哈希存储缓存,这里根据“域名、 URI 、客户端请求 Header 头中的 If-Modified-Since 信息”组合成 Key 。 proxy_cache_key $host$request_uri$http_if_modified_since; # 反向代理,访问后端内容源服务器 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://my_server_pool; } access_log off; }
35.
36.
Nginx 的 Rewrite
重写规则
37.
Nginx Rewrite 规则相关指令
Nginx Rewrite 规则相关指令有 if 、 rewrite 、 set 、 return 、 break 等,其中 rewrite 是最关键的指令。一个简单的 Nginx Rewrite 规则语法如下: rewrite ^/b/(.*)html /play.php?video=$1 break; 如果加上 if 语句,示例如下: if (!-f $request_filename) { rewrite ^/img/(.*)$ /site/$host/images/$1 last; }
38.
Nginx 与 Apache
的 Rewrite 规则实例对比① 简单的 Nginx 和 Apache 重写规则区别不大,基本上能够完全兼容。例如: Apache Rewrite 规则: RewriteRule ^/(mianshi|xianjing)/$ /zl/index.php?name=$1 [L] RewriteRule ^/ceshi/$ /zl/ceshi.php [L] RewriteRule ^/(mianshi)_([a-zA-Z]+)/$ /zl/index.php?name=$1_$2 [L] RewriteRule ^/pingce([0-9]*)/$ /zl/pingce.php?id=$1 [L] Nginx Rewrite 规则: rewrite ^/(mianshi|xianjing)/$ /zl/index.php?name=$1 last; rewrite ^/ceshi/$ /zl/ceshi.php last; rewrite ^/(mianshi)_([a-zA-Z]+)/$ /zl/index.php?name=$1_$2 last; rewrite ^/pingce([0-9]*)/$ /zl/pingce.php?id=$1 last; 由以上示例可以看出, Apache 的 Rewrite 规则改为 Nginx 的 Rewrite 规则,其实很简单: Apache 的 RewriteRule 指令换成 Nginx 的 rewrite 指令, Apache 的 [L] 标记换成 Nginx 的 last 标记,中间的内容不变。
39.
Nginx 与 Apache
的 Rewrite 规则实例对比② 如果 Apache 的 Rewrite 规则改为 Nginx 的 Rewrite 规则后,使用 nginx -t 命令检查发现 nginx.conf 配置文件有语法错误,那么可以尝试给条件加上引号。例如一下的 Nginx Rewrite 规则会报语法错误: rewrite ^/([0-9]{5}).html$ /x.jsp?id=$1 last; 加上引号就正确了: rewrite "^/([0-9]{5}).html$" /x.jsp?id=$1 last;
40.
Nginx 与 Apache
的 Rewrite 规则实例对比③ Apache 与 Nginx 的 Rewrite 规则在 URL 跳转时有细微的区别: Apache Rewrite 规则: RewriteRule ^/html/tagindex/([a-zA-Z]+)/.*$ /$1/ [R=301,L] Nginx Rewrite 规则: rewrite ^/html/tagindex/([a-zA-Z]+)/.*$ http://$host/$1/ permanent; 以上示例中,我们注意到, Nginx Rewrite 规则的置换串中增加了“ http://$host” ,这是在 Nginx 中要求的。
41.
Nginx 与 Apache
的 Rewrite 规则实例对比④ 另外, Apache 与 Nginx 的 Rewrite 规则在变量名称方面也有区别,例如: Apache Rewrite 规则: RewriteRule ^/user/login/$ /user/login.php?login=1&forward=http://%{HTTP_HOST} [L] Nginx Rewrite 规则: rewrite ^/user/login/$ /user/login.php?login=1&forward=http://$host last;
42.
Nginx 与 Apache
的 Rewrite 规则实例对比⑤ Apache 与 Nginx Rewrite 规则的一些功能相同或类似的指令、标记对应关系: Apache 的 RewriteCond 指令对应 Nginx 的 if 指令; Apache 的 RewriteRule 指令对应 Nginx 的 rewrite 指令; Apache 的 [R] 标记对应 Nginx 的 redirect 标记; Apache 的 [P] 标记对应 Nginx 的 last 标记; Apache 的 [R,L] 标记对应 Nginx 的 redirect 标记; Apache 的 [P,L] 标记对应 Nginx 的 last 标记; Apache 的 [PT,L] 标记对应 Nginx 的 last 标记;
43.
Nginx 与 Apache
的多条件 Rewrite 示例① 允许指定的域名访问本站,其他域名一律跳转到 http://www.aaa.com Apache Rewrite 规则: RewriteCond %{HTTP_HOST} ^(.*?)domaincom$ RewriteCond %{HTTP_HOST} !^qitadomaincom$ RewriteCond %{DOCUMENT_ROOT}/market/%1/index.htm -f RewriteRule ^/wu/$ /market/%1/index.htm [L] Nginx 的 if 指令不支持嵌套,也不支持 AND 、 OR 等多条件匹配,相比于 Apache 的 RewriteCond ,显得麻烦一些,但是,我们可以通过 下一页 的 Nginx 配置写法来实现这个示例:
44.
Nginx 与 Apache
的多条件 Rewrite 示例② Nginx Rewrite 规则: if ($host ~* ^(.*?)domaincom$) { set $var_wupin_city $1; set $var_wupin '1'; } if ($host ~* ^qitadomaincom$) { set $var_wupin '0'; } if (!-f $document_root/market/$var_wupin_city/index.htm) { set $var_wupin '0'; } if ($var_wupin ~ '1') { rewrite ^/wu/$ /market/$var_wupin_city/index.htm last; }
45.
Nginx 与金山逍遥 TCSQL
的配合
46.
47.
48.
49.
50.
51.
52.
53.
谢谢!
Jetzt herunterladen