nginx
文章平均质量分 58
牧羊人Full
你可以不受约束,不承担任何责任,对此博客任意评论。
展开
-
用GDB调试nginx
阅读源码的最好方式就是跟踪调试代码,这里介绍了如何利用GDB调试nginx的配置和步骤。修改配置文件修改nginx.conf:#user nobody;master_process off;daemon off;daemon off;表示关闭守护进程模式,这样就免除了用GDB跟踪fork出的子进程了。如果默认启用守护进程,标准输出是被关闭的。因此关闭守护进程模式能够利用printf方便查看原创 2015-05-10 11:21:28 · 771 阅读 · 0 评论 -
输出nginx执行过程中函数调用关系
添加源文件首先在src/core/目录下添加两个文件,分别是my_debug.h和my_debug.c。#ifndef MY_DEBUG_LENKY_H#define MY_DEBUG_LENKY_H#include <stdio.h>void enable_my_debug(void) __attribute__ ((no_instrument_function));void disable_原创 2015-05-11 22:02:27 · 1006 阅读 · 0 评论 -
lua与c语言互相调用
lua和c语言之间的互调大量出现在lua-nginx-module中,这里给出《lua程序设计》第24-27章的一些测试代码。#include #include #include #include #include #include #include #include #define MAX_COLOR 255static void stackDump(lua_State原创 2015-05-27 15:55:21 · 1719 阅读 · 0 评论 -
nginx调试过程:No symbol "*" in current context
原因:自动生成的Makefile开启了编译优化选项 ‘-O’。解决办法:删除Makefile中的-O选项。补充:优化选项有不同级别,-O0、-O1、-O2...。-O等价于-O1。原创 2015-05-26 22:11:01 · 739 阅读 · 0 评论 -
ngx_http_concat_module
一、ngx_http_concat_module模块介绍该模块是由淘宝网发布在github,用来合并多个静态文件的请求为一个请求,减少服务被访问的次数。二、配置在/path_install_nginx/html/static/js目录中添加两个js文件,a.js和b.js。在里面写入内容。 修改配置文件:location /static/js { c原创 2015-05-29 22:29:24 · 2446 阅读 · 0 评论 -
配置简单的nginx反向代理
最近在阅读ngx_http_upstream_module源码,首先要让该模块运行起来,然后调试跟踪。这里介绍了配置简单的nginx反向代理。一、安装httpdyum install httpdecho “hello world!” > /var/www/html/index.htmlservice httpd start 完成了上述步骤,可以测试一下:curl htt原创 2015-06-01 16:27:40 · 627 阅读 · 0 评论 -
nginx双向链表ngx_queue_t
一、介绍ngx_queue_t是nginx中实现的双向链表,在要用到双向链表的自定义结构体中将ngx_queue_t嵌入到自定义结构体中即可。还有一个特点是ngx_queue_t不涉及到内存分配。二、例子下面的源码是将《深入理解nginx》第7章关于ngx_queue_t的源码整合起来。Makefile则是参考http://blog.csdn.net/livelylittlefish/原创 2015-06-02 17:35:42 · 729 阅读 · 0 评论 -
nginx动态数组ngx_array_t
ngx_array_t是nginx中设计的动态数组,类似于STL中的vector。下面我们结合实例分析。一、实例#include #include "ngx_config.h"#include "ngx_conf_file.h"#include "nginx.h"#include "ngx_core.h"#include "ngx_string.h"#include "ngx_原创 2015-06-03 10:32:40 · 911 阅读 · 0 评论