编译出适合自己的nginx

上面是解压后的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过一份。

原文地址:https://www.cnblogs.com/xiaobao2/p/11166360.html