使用configure命令配置编译。它定义了系统的各个方面,包括允许使用 nginx 进行连接处理的方法。最后它创建一个Makefile。该configure命令支持以下参数:

--prefix=path (--prefix=/usr/local/nginx)

定义一个将保留服务器文件的目录。同一个目录也将用于所有相对路径 configure(除了源库的路径除外)和 nginx.conf 配置文件中。/usr/local/nginx 默认设置为目录。

--sbin-path=path ( --sbin-path=/usr/local/nginx/sbin/nginx )

设置一个nginx可执行文件的名称。此名称仅在安装期间使用。默认情况下文件被命名 prefix/sbin/nginx

--conf-path=path ( --conf-path=/usr/local/nginx/conf/nginx.conf )

设置 nginx.conf 配置文件的名称。如果需要,nginx 可以始终使用不同的配置文件启动,通过在命令行参数 -c file 指定它 。默认情况下文件被命名 prefix/conf/nginx.conf

--pid-path=path ( --pid-path=/usr/local/nginx/logs/nginx.pid )

设置将存储主进程的进程ID的nginx.pid文件的名称。安装后,可以 nginx.conf 使用pid指令在配置文件中 始终更改文件名 。默认情况下文件被命名 prefix/logs/nginx.pid。

--error-log-path=path ( --error-log-path=/usr/local/nginx/logs/error.log )

设置主错误,警告和诊断文件的名称。安装后,可以 nginx.conf 使用 error_log 指令在配置文件中 始终更改文件名 。默认情况下文件被命名 prefix/logs/error.log。

--http-log-path=path ( --http-log-path=/usr/local/nginx/logs/access.log )

设置HTTP服务器主要请求日志文件的名称。安装后,可以nginx.conf使用access_log指令在配置文件中 始终更改文件名 。默认情况下文件被命名 prefix/logs/access.log。

--build=name

设置一个可选的nginx构建名称。

--user=name (--user=www )

设置非特权用户的名称,该用户的凭据将由工作进程使用。安装后,可以nginx.conf使用user指令在配置文件中 始终更改名称 。默认的用户名是nobody。

--group=name ( --group=www )

设置由工作进程使用其凭据的组的名称。安装后,可以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服务器响应的模块。需要zlib库来构建和运行此模块。

--without-http_rewrite_module

禁用构建一个允许HTTP服务器 重定向请求并更改请求URI的模块。需要PCRE库来构建和运行此模块。

--without-http_proxy_module

禁用构建HTTP服务器代理模块。

--with-http_ssl_module

可以构建一个将HTTPS协议支持添加到HTTP服务器的模块。默认情况下不构建此模块。OpenSSL库是构建和运行该模块所必需的。

--with-pcre=path

设置PCRE库的源的路径。发行版(4.4 - 8.40版)需要从PCRE站点下载 并提取。其余的由nginx ./configure和 make。该库是位置指令和 ngx_http_rewrite_module 模块中正则表达式支持所必需的 。

--with-pcre-jit

使用“即时编译”支持构建PCRE库(1.1.12, pcre_jit指令)。

--with-zlib=path

设置zlib库的源的路径。库分发(版本1.1.3 - 1.2.11)需要从zlib站点下载 并提取。其余的由nginx ./configure和 make。该库是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/sbin/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=../pcre-8.41 \
--with-zlib=../zlib-1.2.11 \

配置完成后,使用nginx进行编译和安装make。

一、安装前的环境

1 安装必要的编译环境

yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel  \
fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ \
gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel \
krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel \
libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr \
ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils \
telnet t1lib t1lib* nasm nasm* wget zlib-devel \

2 添加web服务的用户组www、和www用户

useradd -s /sbin/nologin  www

用 ulimit来提高网络并发性能,按需求

ulimit -SHn 65535

3 编译安装必要的软件:pcre 、openssl 、zlib

./configure --prefix=/usr/local/pcre

./config --prefix=/usr/local/openssl

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/openssl/bin

./configure --prefix=/usr/local/zlib

4 编译安装nginx

./configure  --prefix=/usr/local/nginx  \
--without-http_memcached_module \
--user=www \
--group=www \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-openssl=/usr/local/src/openssl-1.0.1h \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-pcre=/usr/local/src/pcre-8.35 \

配置启动服务

centos7 源码编译nginx的更多相关文章

  1. Centos7源码编译安装PHP7.2(生产环境)

    安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...

  2. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  3. CentOS7 源码编译安装Nginx

    源码编译安装nginx     1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...

  4. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  5. centos7源码编译安装Subversion 1.9.5

    svn是Subversion的简称,是一个开放源代码的版本控制系统.svn有两种运行方式:1.独立服务器(svn://xxx.xxx/xxx) 2.借助apache(http://svn.xxx.xx ...

  6. Centos7源码编译安装mysql8

    前面介绍了很多关于mysql的文章,下面主要介绍一下mysql8的源码编译安装 一 基本环境 [root@CentOS-7-x86-64-Minimal-1810 ~]# cd /usr/local/ ...

  7. centos7 源码编译安装 nginx

    安装步骤 下载 nginx 源码包 官网 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压 nginx 压缩包 $ tar -zxvf n ...

  8. centos7 源码编译安装 php

    准备工作 下载 PHP 源码包并解压 $ wget https://www.php.net/distributions/php-7.2.19.tar.bz2 $ yum -y install bzip ...

  9. CentOS7 源码编译安装Tengine

    简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.它的目的是打造一个高效.安全的Web平台. 发展 Tengine的性能和 ...

随机推荐

  1. jquery事件之事件委托和事件切换

    一.事件委托函数: 方法名 说明 语法 (events 事件类型,data数据,handler 事件处理函数,selector 选择器) live 用于为指定元素的一个或多个事件绑定事件处理函数. j ...

  2. C#中的自动属性、隐式类型var、对象初始化器与集合初始化器、扩展方法

    1.自动属性(Auto-Implemented Properties) //以前的写法 .net2.0 private string _userName; public string UserName ...

  3. Protocol Buffers官方文档(开发指南)

    本文是对官方文档的翻译,然后截取了一篇非常优秀的文章片段来帮助理解,本人英文水平有限,基本都是直译,如果有不理解的地方请参考英文官方文档,参考的文章链接在文章末尾 protocol buffers简介 ...

  4. HDU2047 阿牛的EOF牛肉串

    题目:https://blog.csdn.net/qq_40932661?t=1 表面上看去似乎无从下手.但是可以从前面地推出后面的 递推: 假如涂第N个位置,有两种可能,①涂O ②不涂O. 如果涂O ...

  5. POJ1141Brackets Sequence 解题报告

    题目链接1 题目链接2 题目大意 给出一个括号序列,添加最少的括号使序列正确 解题思路 先将问题简单化,从求序列退化为求最小添加括号数的问题 用区间dp n³解决 f[l][r]表示使第l个到r个区间 ...

  6. Topoi 测验1301, 问题C: 1959: 解题 解题报告

    Topoi(一个经常会炸的网站) 本题提交链接 很久以前的题目了, 刚开了博客,来写一波题解 先看一波提交记录: 调了好几天QAQ 唉! 要是这些高手里有我估计直接 输出1 就AC了 算法 DFS + ...

  7. 禁止tableview 像上滑动

    tableView有一个bounces属性.默认YES,所以tableView上下用力拉都会有弹性滑动,如下设置可以禁止,但是这样的话上下弹性都没了 而经常的需求是上方不要弹性,下方要弹性,可以用监听 ...

  8. POJ1036 Gangsters

    题目来源:http://poj.org/problem?id=1036 题目大意: 有N个强盗要进入一家饭店打劫,第i个强盗在Ti时刻到达,会抢到Pi的财产.饭店的门有K+1状态,门打开的程度为[0, ...

  9. js千分位处理

    一.去掉千分位 function removeThousands(num) { var x = num.split(','); return parseFloat(x.join("" ...

  10. 【手撸一个ORM】MyOrm的使用说明

    [手撸一个ORM]第一步.约定和实体描述 [手撸一个ORM]第二步.封装实体描述和实体属性描述 [手撸一个ORM]第三步.SQL语句构造器和SqlParameter封装 [手撸一个ORM]第四步.Ex ...