Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1160730
  • 博文数量: 181
  • 博客积分: 4968
  • 博客等级: 上校
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-13 21:52
文章分类

全部博文(181)

文章存档

2015年(2)

2013年(6)

2012年(22)

2011年(41)

2010年(27)

2009年(51)

2008年(32)

我的朋友

分类: 系统运维

2011-06-16 11:25:34

Nginx调试

  最近准备写一个Nginx的自定义模块,添加一些功能,模拟公司的服务器功能(使用HTTP协议):

1 首先准备环境,从nginx.org下载最新的代码,编译前需要先安装一些信赖的库,像zlib, openssl, pcre,在Ubuntu上面可以直接用一条命令搞定(如果你不需要每个库都从源码的编译的话)

  sudo apt-get build-dep nginx。

  apt-get build-dep 很好用,好像编译很多Ubuntu源里有的程序或者库都可以用(我之前编译Erlang就用的 sudo apt-get build-dep erlang).

2 为了方便调试编译Nginx需要设置选项:./configure --with-debug.

3 修改日志选项,一般在安装目录下config/nginx.conf,文件开始部分有三行:

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

选择一行,去掉注释头#,改成 error_log logs/error.log debug。

4 在nginx.conf里添加 

worker_rlimit_core 500M;

working_directory /path/to/cores/; 

然后

gdb /path/to/nginx /path/to/cores/nginx.core

bt

backtrace full

如果gdb backtrace 显示没有符号表,那就可能检验编译选项有没有问题,或者重新编译了。

这几个设置是比较通用的,如果习惯看英文文档,感兴趣的朋友建议对照 阅读。

环境设置基本没问题了,下一步要开始看看Nginx 代码难逻辑了,希望这个星期能拿出个Demo来试试,:)

阅读(1571) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~