Nginx

Nginx

编译 Nginx

针对 Unix 环境

下载 Nginx

Nginx 官网 出下载想要编译版本的 Nginx,Nginx 官方提供三个版本:

  1. Mainline version

    主线版本,功能较新,稳定性较 Stable version 稍差,建议学习使用该版本,实际生产使用 Stable version。

  2. Stable version

    稳定版本

  3. Legacy versions

    历史版本

wget http://nginx.org/download/nginx-1.17.4.tar.gz
tar -zxvf nginx-1.17.4.tar.gz
cd nginx-1.17.4

Nginx 源码目录介绍

Nginx 源码目录

auto

编译时的依赖库以及针对操作系统特性选择库

CHANGES

英文版 Nginx 各版本变更说明

CHANGES.ru

俄文版 Nginx 各版本变更说明(Nginx 作者是俄罗斯人)

conf

配置文件目录

configure

编译配置,编译前生成中间文件方便编译

主要有编译路径配置、某些功能开关及模块配置

--prefix 设置服务器存放地址,也是其他未配置路径的目录的默认根目录

--XXX-path 代表设置 XXX 目录的地址

--with-XXX_module 代表启用某些模块

--without-XX_module 代表禁用某些模块,这些模块是 Nginx 默认会编译的模块

还有一些其他参数可以参考可以参考 Ngxin 官方文档

contrib

vim 提示插件以及一些提升使用 Nginx 效率的工具脚本

未配置 vim 提示时使用 vim 打开 nnginx.conf

配置 vim 提示

cp -r contrib/vim ~/.vim 

配置 vim 提示后

针对不同层次结构以及不同关键字颜色区别会更明显

html

存放 index.html(Nginx 默认欢迎页)和 50x.html(Nginx 默认错误页)

index.html:

index.html

50x.html:

50x.html

LICENSE

许可证信息

man

Nginx 为 linux 提供的帮助文件

可以使用命令查看(与编译后使用 nginx -h 相比内容更丰富)

man man/nginx.8

man

README

自述文件

src

源码

编译

首先需要使用 configure 进行配置,一般只设置 --prefix 即可:

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

配置会输出配置简要说明:

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/home/sanchan/nginx"
  nginx binary file: "/home/sanchan/nginx/sbin/nginx"
  nginx modules path: "/home/sanchan/nginx/modules"
  nginx configuration prefix: "/home/sanchan/nginx/conf"
  nginx configuration file: "/home/sanchan/nginx/conf/nginx.conf"
  nginx pid file: "/home/sanchan/nginx/logs/nginx.pid"
  nginx error log file: "/home/sanchan/nginx/logs/error.log"
  nginx http access log file: "/home/sanchan/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

配置生成的中间文件会放置到 objs目录下,有兴趣的小伙伴可以看下。

然后就可以进行编译了:

make

编译会在 objs 目录下生产 nginx 、nginx.8 及 ngx_modules.o,如果是升级 Nginx 可以将这些文件替换旧文件,如果是全新安装则执行:

make install

这样在之前配置的路径 /home/sanchan/nginx 中就可以看到 Nginx 相关文件了。

安装完成

sbin 为 Nginx 二进制执行文件目录

logs 为 Nginx 日志目录

conf 及 html 与下载的 Nginx 源码中目录是一致的

以上就完成了 Nginx 的编译工作

本文由博客一文多发平台 OpenWrite 发布!

拿客_三产
2.6k 声望147 粉丝