免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 36416 | 回复: 55
打印 上一主题 下一主题

[Web] 深入理解Nginx模块开发与架构解析,参与赠图书!(获奖名单已公布-2013-5-22) [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-22 17:51 |只看该作者 |倒序浏览
获奖名单已公布,详情请看:http://bbs.chinaunix.net/thread-4082552-1-1.html

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。目前最新的Nginx稳定版是1.2.8,在今年的4月初发布。

随着国内互联网运维和开发技术的迅猛发展,同时nginx由于出色的性能,在国内很多互联网公司Nginx更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部原理,而这一切都是如何运作的呢?

本期话题:
1、您为什么选择Nginx?他的哪些优势是你所看重的?
2、你有尝试过阅读Nginx的源码吗?阅读源码是否对你更深地了解Nginx?
3、您的Nginx的插件使用心得,欢迎分享!

本期嘉宾:
ChinaUnix社区架构设计版资深版主:duanjigang
ChinaUnix社区架构设计版资深版主:dreamice
ChinaUnix论坛Python版资深版主:smallfish_xy
图书作者:  陶辉,曾任思科后台工程师,从事服务端开发近十年,擅长Linux分布式架构下的海量数据处理,擅长C/C++开发的高性能高吞吐量网络服务。拥有丰富的Linux高性能服务器开发经验,丰富的云存储系统开发经验,目前关注云文档管理系统和Nginx的再开发。

活动时间:
2013年4月22日-5月10日

本期奖品:
最佳积极参与经验分享奖5名,奖励价值89元的《深入理解Nginx:模块开发与架构解析》图书一本
参与讨论的其他会员,获得社区积分20分

图书试读:
http://wenku.it168.com/d_000893229.shtml

图书简介:
《深入理解Nginx:模块开发与架构解析》

基本信息
作者: 陶辉
出版社:机械工业出版社
ISBN:9787111414780
上架时间:2013-3-20
出版日期:2013 年4月
开本:16开
页码:1
版次:1-1



论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
2 [报告]
发表于 2013-04-22 19:28 |只看该作者
沙发支持.
1、您为什么选择Nginx?他的哪些优势是你所看重的?
  选择nginx是利用其反向代理以及负载均衡的功能和缓存功能,实现web网站的高可用,高并发.
  nginx的轻量级,内存占用小是我所看重的.
2、你有尝试过阅读Nginx的源码吗?阅读源码是否对你更深地了解Nginx?
  没有看过源码,看了也是白看,对C语言我仅仅是入门级别,完全是小白.
3、您的Nginx的插件使用心得,欢迎分享!
  用过nginx的purge_cache插件和stub_status插件.
  前者用来清除nginx缓存的文件,比如图片啥的,后者主要用于cacti,用于画图

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
3 [报告]
发表于 2013-04-22 19:56 |只看该作者
1. Nginx选择 epoll and kqueue 作为开发模型.这个事件驱动模型,很好的解决了C10k问题,使得C1000k成为可能(当然需要极度调优)。另外是,使用模式的不同,HTTP 连接管理与逻辑处理的分离使得Ningx也轻量了很多,多进程模型 VS 多时程+ 异步IO,高性能离不开异步,这也从一方面表明了nginx强大的性能潜力。

2. 阅读过一部分,代码写得很整洁,优雅,是学习C语言开发和网络开发少有的优秀例子,根据教程写过一个简单的日志模块,不过开发难度还是略高,看看外国有个大牛Emiller 的Nginx 模块开发指南, 还不错,另外tenginx也有个博客,还不错
http://tengine.taobao.org/book/

3. 现在插件用的较多的是nginx_lua 国内大牛agentzh的大作,实在是互联网应用杀人越货不可多得的利器

论坛徽章:
6
CU大牛徽章
日期:2013-05-20 10:43:41IT运维版块每日发帖之星
日期:2016-07-29 06:20:00IT运维版块每日发帖之星
日期:2016-01-27 06:20:00CU大牛徽章
日期:2013-05-20 10:44:16CU大牛徽章
日期:2013-05-20 10:44:0615-16赛季CBA联赛之广东
日期:2018-03-09 11:17:08
4 [报告]
发表于 2013-04-22 21:01 |只看该作者
1、您为什么选择Nginx?他的哪些优势是你所看重的?
     公司的嵌入式系统需要一个web程序,对内存及cpu要求较高
2、你有尝试过阅读Nginx的源码吗?阅读源码是否对你更深地了解Nginx?
    尝试过,看了部分代码,有点头晕
3、您的Nginx的插件使用心得,欢迎分享!
   没用过nginx插件
   

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
5 [报告]
发表于 2013-04-22 21:05 |只看该作者
1、您为什么选择Nginx?他的哪些优势是你所看重的?
a. nginx 是为性能而开发的。也是最大的特点。非常注重效率。nginx能支持高负载。并发能达到5W.
b.作为Web服务器,Nginx处理静态文件、索引文件,自动索引的效率非常高。
c.作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度。
d.作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡。

基于以上几个特点,我们选用nginx。
2、你有尝试过阅读Nginx的源码吗?阅读源码是否对你更深地了解Nginx?
看过源码的,感觉nginx源码思路比较清晰,能够加深对nginx内部原理的理解,多读几次会有新的收获。进而可以定制。
3、您的Nginx的插件使用心得,欢迎分享
a.我们使用了nginx的防盗链插件ngx_http_accesskey。
location /img/ {     
  root /data/img/;     
  valid_referers none  www.sample.com sample.com;     
  if ($invalid_referer) {                    
   rewrite  ^/  http://www.sample.com/images/error.gif;                  
  #return   403;     } }

b.还使用了google-perftools-module. 此插件是为了优化高并发时的内存管理性能。
先安装 libunwind

# wget http://download.savannah.gnu.org ... unwind-1.0.1.tar.gz
# CFLAGS=-fPIC ./configure --prefix=/usr
# make CFLAGS=-fPIC
# make CFLAGS=-fPIC install
再安装 google-perftools

#wget http://google-perftools.googleco ... ftools-1.9.1.tar.gz
# ./configure --prefix=/usr --enable-frame-pointers (32位可以不添加--enable-frame-pointers)
# make && make install

修改nginx.conf的配置增加如下的信息:
google_perftools_profiles /tmp/tcmalloc;      
reload nginx 即可生效。


论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
6 [报告]
发表于 2013-04-22 21:30 |只看该作者
嘛书啊,Mark。

论坛徽章:
32
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
7 [报告]
发表于 2013-04-22 21:38 |只看该作者
1、您为什么选择Nginx?他的哪些优势是你所看重的?
选择Nginx最主要的原因是它出众的性能,远低于Apache的内存消耗以及超高的吞吐率。早些年间,我一直使用Apache,总的来说,对Apache HTTP Server还是比较满意的,它易用,丰富的组件和模块,处理静态文件很优秀,对PHP应用也非常适合。
随着国内一些高手对Nginx的推崇和推广,我们逐步认识到Nginx相比于Apache,对内存的消耗更低,支持更多的并发连接,而且配置比Apache简单。Nginx虽然没有Apache服务器那么成熟,但是近两年发展非常迅猛,版本更新很快,目前已经很成熟了。Nginx还可以作为反向代理服务器,而且支持七层负载均衡,这些都是我看重的。

2、你有尝试过阅读Nginx的源码吗?阅读源码是否对你更深地了解Nginx?
到目前为止,我没有阅读过Nginx的源码。人的精力毕竟是有限的,我对自己的要求就是把Nginx用好,精通Nginx即可。目前已经在多个项目中使用了Nginx。
阅读源码当然能帮助我更深地了解Nginx。我曾经也希望阅读Nginx的源码,不过比较缺时间,等空闲下来后,会做这件事。

3、您的Nginx的插件使用心得,欢迎分享!
我没有开发过Nginx插件或模块,使用过的第三方模块还不少,主要有:
1)Encrypted Session插件:可以对Nginx变量值进行加解密,适用于基于会话的授权认证。
2)GridFS插件:用于支持MongoDB数据库的GridFS,适合分布式文件系统的应用。
3)HTTP Push Stream插件:把Nginx变成流式推服务器。
4)Mongo插件:使得Nginx可以直接与MongoDB数据库通信。
5)ModSecurity插件:Web应用的防火墙。
6)HTTP Push插件:把Nginx变成支持常连接的HTTP推服务器(Comet)。
7)HTTP Redis插件:使得Nginx可以直接与Redis数据库通信。
8)Limit Upload Rate插件:限制客户端上传速度的插件。
9)RTMP插件:使得Nginx支持RTMP协议。
……
还有不少,根据需求选用。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
8 [报告]
发表于 2013-04-22 22:06 |只看该作者
回复 1# send_linux

好活动啊,强烈支持。

   

论坛徽章:
9
CU大牛徽章
日期:2013-04-17 11:06:23CU大牛徽章
日期:2013-04-17 11:08:52CU大牛徽章
日期:2013-04-17 11:09:10CU大牛徽章
日期:2013-04-17 11:09:40CU大牛徽章
日期:2013-04-17 11:09:57CU大牛徽章
日期:2013-04-17 11:10:17CU大牛徽章
日期:2013-05-20 10:43:41CU大牛徽章
日期:2013-05-20 10:44:06CU大牛徽章
日期:2013-05-20 10:44:16
9 [报告]
发表于 2013-04-23 09:36 |只看该作者
刚买到手了。。。不忍心参与分薄了别人的机会。。。:wink:

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
10 [报告]
发表于 2013-04-23 09:39 |只看该作者
wonghoifung 发表于 2013-04-23 09:36
刚买到手了。。。不忍心参与分薄了别人的机会。。。


很快,我们另外一个版主的,也是Nginx的图书也要上市了哦,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP