下载 nginx
wget --nd --dirrctory-prefix=/home/learn http://nginx.org/download/nginx-1.14.1.tar.gz
然后解压后得到这样的目录结构
目录结构
- auto
- 对不同操作系统做相应的处理,最终让 Nginx 正常编译
- CHANGES、CHANGES.ru
- 这是当前版本的说明,里面包含:bug 修复情况,重构,新增哪些功能
- conf
- 配置文件
- 在安装 ngixn 之后,会拷贝一份到安装目录
- configure
- 生成中间文件,执行编译前的必备操作
- contrib
- 使用 vim 这类工具编辑时,实现语法高亮
- html
- 50x 的页面
- nginx 欢迎页面
- Makefile
- 编译后需要执行的安装脚本文件
- man
- 帮助文件
- src
- Nginx 的源代码所在目录
编译及安装
在解压包之后,就可以手动编译工作了,接下来先看看 configure
支持哪些参数
#在 nginx 目录下执行
sudo ./configure --help | more
通过上面的命令可以看到它支持很多参数,其中可以归纳为几大类的配置编译参数
- 安装目录的选择,例如:nginx 安装位置,错误日志的位置
- 当前已选择编译的模块,可以移除编译
- 当前未选择编译的模块,可以添加进编译
- 在编译时,需要添加什么参数进行编译
安装依赖库
在编译过程可能会以到缺少库,其中有些库要是缺少是不能正常编译(除非移除),所以需要安装相应缺少的库,一般 linux 平台会缺少:pcre,openssl,gzip
所以需要安装这些类库,以 Ubuntu 为例
sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev
之后重新执行编译操作,编译之后会在 ngixn-./ 创建 objs目录,其中包含了编译后的所有中间文件,这里面有个模块文件,在这个文件中以数组方式列出需要安装的所有模块
安装 Nginx
在上面已经成功编译了,并且安装好相应的依赖库,那么接下来就是安装了,首次安装执行
sudo make install
其中略过大量安装信息,然后安装成功了,之前我们编译的时候由指定 --prefix
前缀,这个就是我们安装 nginx 目录
安装目录结构
切换到 nginx 安装目录,这里面的目录结构稍微解释下:
- *_temp
- 这样的目录是临时文件
- conf
- 配置文件,是编译安装时,直接从 ngixn-. 目录下的 conf 复制过来的
- logs
- nginx 运行时记录的日志目录,包含错误,访问及代表着 nginx 的 master 进程 id 的文件
- sbin
- ngixn 的二进制文件
- 在我们需要 升级 nginx 版本时候,替换这里二进制文件
- 因为升级 nginx 就是替换二进制文件
以上就是编译过程,主要的是编译时模块的选择,还有就是需要知道 nginx 的二进制文件存放在什么位置,方便做版本升级等一些操作
Q.E.D.
Comments | 0 条评论