2014-03-23 08:18:01
来 源
itjs.cn
Nginx安装配置
本文介绍Nginx模块开发过程中的经验和教训,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。
整了快一个月了,是时候总结一下:

教训:

1. 在虚拟机下编译Nginx

算是犯的第一个错误, 环境如下: Window + 虚拟机中的Ubuntu, nginx等文件放在windows的一个文件夹中, Ubuntu使用vbox的数据空间进行访问.

一开始并未察觉,因为觉得编译个东西, 几分钟,很正常吧.

2. 在Lua中习惯性写分号,习惯性忘记写end

3. 以Java的想法写C

其他一些零碎的问题:

1. lua-nginx-module 0.1.6rc2有个bug,折腾了2天,最后知道是bug

2. 用google-pretools工具分析性能,结果发现根本还不需要到这一步,因为ab的cpu比nginx还高!!

经验:

最大的经验就是 如果无需对请求体进行复杂处理(例如upload),以下组合可以说无敌了:

nginx + lua-nginx-module + drizzle-nginx-module + rds-json-nginx-module

使用标准nginx处理静态文件,不是一般的快和强大

drizzle + rds-json负责访问mysql数据, 速度非常快

使用lua处理逻辑,灵活而且非常快

一般的增删改查,都可以用上面的组合完成,无需Java/PHP的参与

暂时想到这么多, 另外,我在翻译lua-nginx-module的手册.虽说lua-nginx-module是国人写的,但一直没有找到中文手册,其英文文档虽然能看懂,但查找非常不便. 嘻嘻,值得期待哦

后来,做出一部分功能,开始测试. 用ab压, 总是几百req/s ,非常不爽,不应该是这种性能!!

无意中,改为单worker进程, 竟然效果更好, 而且ab占用的cpu比nginx还高!!

开始怀疑虚拟机的性能,决定用wubi安装一个

安装好,例行编译,靠!! 咋一会就搞定了?! 用ab压,晕死,直接上10k req/s了,而且依旧ab的cpu比nginx高!!

开头,基本上每行都不自觉地敲上分号

每每写if语句,总是忘记写then和end

好久之后才发现连接字符串,其实用..就可以了,之前一直用string.format

一开始看到echo/lua模块每几行就判断一下是否为NULL/NGX_ERROR,觉得很多余,分配内存都要check一下,结果,杯具开始了

指针满天飞,至今还没适应过来

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。