nginx重新整理——————编译nginx[二]
前言
简单编译一下nginx。
正文
为什么我们要去编译nginx。
- 系统安装,比如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 进行安装:
然后介绍一下这些文件:
-
conf 就是nginx 配置文件
-
html 静态文件
-
logs 日志
-
sbin 那么就是这个二进制文件了,这就是自己编译安装。
后面如果需要新的模块,那么就需要替换这个nginx了。
结
大概是这样了,下一节热部署和日志切割。