Nginx二次开发(1.2)安装调试
2015-03-06 22:00
239 查看
1.2 安装调试
1)安装依赖库zlib(gzip模块)、pcre(rewrite模块)、openssl(ssl功能)sudo apt-get install libpcre3 libpcre3-devlibpcrecpp0 libssl-dev zlib1g-dev
2)下载后解压,重命名为nginx
tar xzvf nginx-1.2.2.tar.gz
3)修改nginx/auto/cc/conf文件加上-g参数,让nginx支持gdb调试
ngx_compile_opt="-c"
变为
ngx_compile_opt="-c -g"
变为如下才可以调试宏
ngx_compile_opt="-c -ggdb3"
4)执行configure(我安装目录在/home/user_name)
./configure --prefix=/home/user_name/nginx/
configure 参数说明:
--add-module=PATH -添加第三方模块,第三方模块由PATH路径指定
--conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf
--group=<group> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody
--prefix=<path> - Nginx安装路径。如果没有指定,默认为/usr/local/nginx
--user=<user> -在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody
5)make生成可执行文件
make
可执行文件在/home/user_name/objs/下
6)修改nginx.conf
添加:
daemon off; #配置为非守护进程启动,否则调试时,执行到判断nginx是否以daemon模式启动时退出调试
master_process off; #单进程模式,否则默认启动一个master进程、一个worker进程,并且调试时需要切人worker进程
7)启动nginx
sudo ./nginx
8)nginx启动、重启等相关命令
ps aux|grep nginx 查看nginx进程相关信息
kill -QUIT 主进程号 从容停止nginx
pkill -9 nginx 强制停止nginx
./nginx -s stop 杀死所有nginx进程
./nginx -s reload 重启
8)生成core崩溃转储文件
ps aux|grep nginx
sudo gcore 15255
sudo ./nginx -s stop
15255是nginx master进程号
ps -aux 查看进程信息
grep 搜索进程名字
9)启动调试
gdb ./nginx core.15255
10)gdb常用命令
list #列出源文件
break 213 #在213行打断点
run #从main函数开始运行程序
info proc #查看进程信息
info source #查看代码所属文件
info break #查看断点信息
delete breakpoint num #删除断点,监视的变量也属于断点
whatis 变量名 #查看变量类型
ptype 变量/类型 #查看类型定义
print 变量 #查看值
pwd #查看当前所在目录
continue #从断点开始继续运行
list #列出源文件,默认列出10行
break n #在第n行设置断点
run #从main函数开始运行程序
shell #切换到终端命令行输入命令,从shell中返回用exit
next #相当于VC F10
step #相当于VC F11
quit #终止gdb
watch 变量 #监视变量
set follow-fork-mode child #设置调试子进程
bt #查看调用堆栈
继续按回车键,执行上一个命令
输出完整字符串setprint element 0
11)启动时错误日志文件目录没有生成?提示找不到日志目录?
mkdir /home/user_name/nginx/logs
vi /home/user_name/nginx/conf/nginx.conf
将#error_log logs/error.log;
改为error_log logs/error.log debug;
相关文章推荐
- .NET手持设备开发工具包安装调试篇
- Windows Service开发日志二(安装与调试)
- RedHat linux下安装hadoop 0.20.2, 并在windows下远程连接此hadoop,开发调试
- ubuntu 10.04 server 下安装nginx1.2.0 + uwsgi-1.2 + django-1.4
- iOS开发:安装真机调试证书
- 一网打尽 .Net 开发过程中安装、调试的常见问题与错误!
- nginx学习研究(一)安装启动及调试
- redHat linux下安装hadoop 0.20.2, 并在windows下远程连接此hadoop,开发调试
- nutch 1.2 war的二次开发 第一步,重新编写首页
- nginx开发的gdb调试模式设置
- .Net开发过程中安装、调试的常见问题与错误!!!
- Mac和Xcode的第一次历险,成功在PC上安装iphone开发环境记(可在iphone或ipod touch真机上运行调试)
- 驱动开发编译环境的安装及调试
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、
- 1.2 ECMS(帝国CMS)二次开发1 – 基本方式概述
- AutoCAD二次开发程序的自动安装处理
- 在Linux下安装android开发环境并以USB调试方式链接手机进行开发
- 恩信ERP7.10安装、定制和二次开发 (2)
- 在Linux下安装android开发环境并以USB调试方式链接手机进行开发e
- iOS开发:安装真机调试证书