资讯专栏INFORMATION COLUMN

[英 => 中] 从源文件构建 nginx

crelaber / 2640人阅读

摘要:从源文件构建原文地址我们使用命令来设置构建需要的配置。最后,它会生成一个名为文件。默认情况下这个文件被命名为。启用或者禁用构建允许服务器使用方法的模块。参数适用示例所有参数需要输入在一行中配置后,使用编译并安装。

从源文件构建 nginx

原文地址: http://nginx.org/en/docs/configure.html

我们使用 configure 命令来设置构建 nginx 需要的配置。它定义了系统的各个方面,包括允许 nginx 用于连接处理的方法。最后,它会生成一个名为 Makefile 文件。这个 configure 命令支持以下参数:

原文是列表形式,这里我为了方便阅读使用表格形式

参数 说明
--prefix=path 定义一个保存服务器文件的目录。这个目录也将用于所有通过 configure 设置的 (除了类库资源路径) 和 nginx.conf 配置文件中的相对路径。默认情况下它被设置为 /usr/local/nginx 目录
--sbin-path=path 设置 nginx 可执行文件的名称。这个名称只用于安装期间。默认情况下这个文件被命名为 prefix/sbin/nginx
--conf-path=path 设置 nginx.conf 配置文件的名称。如果需要,nginx 可以随时使用一个不同的配置文件来启动,通过在命令行中指定参数 -c file 。默认情况下这个文件被命名为 prefix/conf/nginx.conf
--pid-path=path 设置一个 nginx.pid 文件的名称,它将存储主进程的进程 ID 。安装后,这个文件名可以随时更改通过使用 nginx.conf 配置文件中的 pid 指令。默认情况下这个文件被命名为 prefix/logs/nginx.pid
--error-log-path=path 设置主要错误,警告,以及诊断文件的名称,这个文件名称可以随时更改,通过在 nginx.conf 配置文件中使用 error_log 指令。默认情况下这个文件被命名为 prefix/logs/access.log
--http-log-path=path 设置 HTTP 服务器的主要请求日志文件的名称。安装后,这个文件名可以随时更改,通过在 nginx.conf 配置文件中使用 access_log 指令。默认情况下这个文件被命名为 prefix/logs/access.log
--user=name 设置一个无特权用户名作为工作进程将使用的凭据。安装后,这个名称可以随时更改,通过在 nginx.conf 配置文件中使用 user 指令。默认的用户名是 nobody 。
--group=name 设置一个组名作为工作进程将使用的凭据。安装后,这个名称可以随时更改,通过在 nginx.conf 配置文件中使用 user 指令。默认情况下,组名被设置为无特权用户名。
--with-select_module
--without-select_module
启用或者禁用构建允许服务器使用 select() 方法的模块。如果平台没有出现支持更合适的方法,比如 kqueue,epoll,或者 /dev/poll,那么这个模块会自动构建。
--with-poll_module
--without-poll_module
启用或者禁用构建允许服务器使用 poll 方法的模块。如果平台没有出现支持更合适的方法,比如 kqueue,epoll,或者 /dev/poll,那么这个模块会自动构建。
--without-http_gzip_module 禁用构建 HTTP 服务器的 compresses responses 模块。zlib 类库需要构建并运行这个模块。
--without-http_rewrite_module 禁用构建允许 HTTP 服务器 redirect requests and change URI of requests 的模块。PCRE 类库需要构建并运行这个模块。
--without-http_proxy_module 禁用构建 HTTP 服务器 proxying module 。
--with-http_ssl_module 启用构建添加 HTTPS protocol support 到 HTTP 服务器的模块。默认情况下,这个模块不会构建。OpenSSL 类库需要构建并运行这个模块。
--with-pcre=path 设置 PCRE 类库的资源路径。这个类库分配 (版本 4.4 - 8.40) 需要从 PCRE 站点下载并提取。其余的通过 nginx 的 ./configuremake 完成。这个类库是为 location 指令中对正则表达式的支持以及 ngx_http_rewrite_module 模块中对正则表达式的支持所必须的。
--with-pcre-jit 构建 PCRE 类库并带 "just-in-time compilation" 的支持 (1.1.12,pcre_jit 指令) 。
--with-zlib=path 设置 zlib 类库的资源路径。这个类库分配 (版本 1.1.3 - 1.2.11) 需要从 zlib 站点下载并提取。其余的通过 nginx 的 ./configuremake 完成。这个类库是 ngx_http_gzip_module 模块所必需的。
--with-cc-opt=parameters 设置额外添加到 CFLAGS 变量的参数。当在 FreeBSD 下使用系统 PCRE,应该制定 --with-cc-opt="-I /usr/local/include" 。如果需要增加通过 select() 支持的文件数量,也可以在这里制定这样的命令: --with-cc-opt="-D FD_SETSIZE=2048"
--with-ld-opt=parameters 设置额外的连接期间的参数。当在 FreeBSD 下使用系统 PCRE 类库,应该指定 --with-ld-opt="-L /usr/local/lib"
参数适用示例 (所有参数需要输入在一行中)
./configure
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre-8.40
    --with-zlib=../zlib-1.2.11

配置后,使用 make 编译并安装 nginx。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39443.html

相关文章

  • docker构建镜像

    一、前言保持线上项目稳定运行是很重要的,为了达到服务可用性在99.9%,也为了减少开发人员在项目部署时耗费大量精力,可以尝试自动化发布自动化部署涉及到的配置比较多,每个环节需要掌握的知识也不同,所以分开写该过程中用到的技术栈webpack docker nginx shell二、实践环境macnode > 10.11.1docker > 20.0.0三、提前准备的内容通过create-...

    社区管理员 评论0 收藏0
  • 前端自动化部署-.gitlab-ci.yml配置

    一、前言该过程中用到的技术栈git gitlab shell需要提前准备的内容一个项目myweb本机安装Git一个Gitlab仓库docker私有仓库gitlab runner(Gitlab-runner)公司的代码一般都保存在私有化部署的Gitlab,要使用Gitlab的CI/CD,需要Gitlab版本>8.0.0CI/CD虽然不难,但配置过程中有很多坑,而且有些要了解的概念也比较多,可以...

    社区管理员 评论0 收藏0
  • 使用Docker-compose打包整个网站项目一键部署

    一、前言我们常常见到很多比较棒的开源项目,但在本地安装运行的话就会很复杂,要配置不同的环境,安装不同的依赖,好一点的会用docker直接拉取,或者打包好。这些无疑都会增加初学者上手的成本,所以这篇文章总结了下目前比较常用的解决方法之一:使用docker-compose同时管理多个服务,只需要一行命令docker compose up -d,就可以启动一个包含后端项目、前端项目、数据库的完整服务。而...

    社区管理员 评论0 收藏0
  • 后端技术精选

    摘要:服务教程在它提出十多年后的今天,已经成为最重要的应用技术之一。全方位提升网站打开速度前端后端新的技术如何在内完整打开网站会直接影响用户的满意度及留存率,在前端后端数据缓存加速等等方面都有诸多可以提升。 HTTPS 原理剖析与项目场景 最近手头有两个项目,XX 导航和 XX 产业平台,都需要使用 HTTPS 协议,因此,这次对 HTTPS 协议做一次整理与分享。 使用缓存应该注意哪些问题...

    GitCafe 评论0 收藏0
  • 后端技术精选

    摘要:服务教程在它提出十多年后的今天,已经成为最重要的应用技术之一。全方位提升网站打开速度前端后端新的技术如何在内完整打开网站会直接影响用户的满意度及留存率,在前端后端数据缓存加速等等方面都有诸多可以提升。 HTTPS 原理剖析与项目场景 最近手头有两个项目,XX 导航和 XX 产业平台,都需要使用 HTTPS 协议,因此,这次对 HTTPS 协议做一次整理与分享。 使用缓存应该注意哪些问题...

    explorer_ddf 评论0 收藏0

发表评论

0条评论

crelaber

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<