大数据、Java EE 学习资料请关注 B 站:https://space.bilibili.com/204792350

编译出适合自己的 Nginx

下载 nginx

使用 wget下载 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 的二进制文件存放在什么位置,方便做版本升级等一些操作

# Nignx  

评论

公众号:mumuser

企鹅群:932154986

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×