首页 > 学院 > 开发设计 > 正文

nginx源码学习(二)

2019-11-06 07:11:35
字体:
来源:转载
供稿:网友

上一篇文章主要介绍了nginx在win和linux平台上的安装。本章节主要介绍nginx源码学习方法和源码结构,以及nginx启动时main方法的位置,参数信息。后面的章节主要是linux平台,你要问为何是linux,而不是win。我只能说nginx是基于linux平台开发出来的,我也习惯了linux平台开发。 上一篇文章我讲了安装,现在打开MobaXterm,连接上nginx服务器。输入whereis nginx命令查看安装目录: 这里写图片描述 是的我的安装目录在 /usr/local/nginx。 现在我们进入这个目录,看看里面有哪些文件。 这里写图片描述 暂时先不管这些文件是做啥用的,像fastcgi_temp,PRoxy_temp, scgi_temp ,uwsgi_temp这些模块都是可配的,以后咱们再详细的讲解。 大家有没有看到sbin文件,对的,这里面就是我们启动nginx的地方。 先进入看看有啥: 这里写图片描述 有两个文件,一个nginx,一个nginx.old。old文件是之前为了平滑升级所备份的nginx文件。我们启动只需要nginx就行了。 ok,我们启动nginx。输入./nginx就行了。 这里写图片描述 怎么知道启动成功没有呢?输入ps -ef|grep nginx。 这里写图片描述 我们看到了一个nginx: master process 主线程,一个nginx: worker process 工作线程,这个工作线程多少是可配的,跟服务器内核数量有关。ok,如果你看到这两个线程,说明nginx已经启动。为了进一步验证,我们访问http://localhost页面,默认80端口。输入curl http://localhost。 这里写图片描述 已经访问到相关欢迎页面了,默认html文件里面index.html。 ok,到这里我们nginx已经正常启动。 接下来,我们通过gdb调试工具找到nginx启动时的main方法在哪。 还是在sbin目录下,我们输入 gdb nginx命令。 这里写图片描述 gdb调试工具是linux自带的,对于调试代码非常的方便,具体gdb信息大家可以上网看看。 ok,接下来输入 b main。 这里写图片描述 好的,看到了一行信息,file src/core/nginx.c line 198。 也就是在nginx.c文件的198行,这个地方就是main方法开始地方。不同的nginx版本这个main方法所在的行也有不一样,大家根据自己的信息来找就行了。 怎么找呢? 学习源码确实需要方法,不然会很乱,也很累。上一章讲安装,nginx网上下载的安装包我放在了/usr/local/src/nginx包里面。我们去看看。 这里写图片描述 我下载的版本是1.10.2 这里写图片描述 左边的nginx-1.10.2包是解压后并且编译过的,将这个包拷贝到win系统,放你自己计划的目录就行。我放在G:/学习日记/nginx/nginx-1.10.2。 ok,我们来找src/core/nginx.c line 198,进入G:/学习日记/nginx/nginx-1.10.2,你们按照自己的来,找到nginx.c的198行。 这里写图片描述 ok,我们找到了main方法,接下来的文章我将讲解main方法,到底nginx启动的时候做了什么事情,关于main方法里面的代码,大家可以自己先看看。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表