上面是解压后的nginx源码
auto目录
上面的cc目录用于编译,lib库 os目录对系统进行判断,其他所有文件都是辅助conf脚本执行 判定nginx支持哪些模块,当前操作系统有哪些特性。
CHANGES和CHANGES.ru nginx版本更新后的特性和bug
conf目录是一个配置文件示例目录
configure脚本 生成中间文件执行编译前必备的操作
contrib目录提供vim打开文件高亮 色彩
cp -r contrib/vim/* /usr/share/vim/vimfiles/
html目录 50x.html和index.html 前者是发现500错误重定向到50x.html,后者是默认的nginx欢迎页面。
man目录是nginx的帮助文件
src目录 nginx源代码目录
./configure --help 分为几个大块
上面的这些路径是指定nginx的辅助文件
第二类前缀是with和without 使用和不使用哪些模块,默认是with前缀的是默认不编译进nginx模块的,without是默认编译进nginx模块的,也就是加with就是编译进nginx模块,加without是移除nginx模块
第三类参数指定nginx的特殊参数
./configure --prefix=/usr/local/nginx
编译完nginx的特性和目录都在以上这些目录里面
而且configure执行完后会生成中间文件objs
最重要是生成ngx_modules.c文件,有那些模块编译进nginx。
最后形成一个*ngx_modules数组
cd ..
make #编译
编译完成
生成大量的中间文件以及最终的运行的nginx二进制文件
在这里可以版本升级
src有生成的中间文件
编译生成的动态文件也在objs目录下
cd ..
make install #安装完成后
到指定的安装目录/usr/local/nginx下。
sbin目录二进制文件 决定nginx功能的是conf目录下 access.log和error.log在logs目录
在conf目录文件是在源代码的conf目录完全copy过一份。