nginx重新整理——————编译nginx[二]

前言

简单编译一下nginx。

正文

为什么我们要去编译nginx。

  1. 系统安装,比如yum安装,会把nginx 模块直接编译进来。

这意味着,我们无法使用第三方的包。如果我们需要使用第三方包,那么需要编译出来。

第一步需要下载出nginx 包:

wget https://nginx.org/download/nginx-1.14.2.tar.gz

第二步进行解压:

tar -xzf nginx-1.14.2.tar.gz

介绍一下里面的目录结构:

第一个是auto 目录:

cc 是用于编译的。

lib 就是使用的库

os 选择不同的操作系统

其他的都是根据option 不同的选项然后做出不同的选择。

这个就是对项目的介绍了。

conf 就是配置了

configure 编译中间文件的程序

contrib 一些高亮辅助的东西,比如vim的高亮

cp -r contrib/vim/* ~/.vim/

这样就有高亮了。

然后这个html就是静态文件了。

这个man不用多少了,就是man 帮助。

src 自然就是原代码了。

开始编译:

第一类配置:

就是安装到什么地方,如果没有指定,那么会在--prefix 之下。

这个选择用户和组了。

第三类就是使用什么模块了:

默认不会编译进去的。

这个带without 就是默认编译进去。

下面这一类就是编译时候的资源选择了:

然后进行编译:

./configure  --prefix=/home/test/nginx

然后你编译的时候可能会发现:

c compiler cc is not found

那么你需要这样:

yum -y install gcc-c++

安装完,重新编译一下:

可以看到一些中间文件:

其中ngx_modules.c 就是将要安装的模块。

然后执行make,就会看到nginx二进制了:

然后使用make install 进行安装:

然后介绍一下这些文件:

  1. conf 就是nginx 配置文件

  2. html 静态文件

  3. logs 日志

  4. sbin 那么就是这个二进制文件了,这就是自己编译安装。

后面如果需要新的模块,那么就需要替换这个nginx了。

大概是这样了,下一节热部署和日志切割。

posted @ 2022-05-01 16:19  敖毛毛  阅读(220)  评论(0编辑  收藏  举报