https://www.cnblogs.com/wazy/p/8108824.html

./configure
--user=www \ #worker进程运行用户
--group=www \ #worker进程运行的组
--prefix=/usr/ \ #Nginx安装的根路径,所有其他的路径都要依赖于改选项
--conf-path=/etc/nginx/nginx.conf \ #如果在命令行没有指定配置文件,那么将会通过这里指定的路径,Nginx将会去那里查找它的配置文件
--sbin-path=/usr/sbin/nginx \ #指定Nginx二进制文件的路径。如果没有指定,那么这个路径会依赖于--prefix选项
--error-log-path=/var/log/nginx/nginx_error.log \ #指定错误文件的路径,Nginx将会往其中写入错误日志文件,除非有其他配置
--http-log-path=/var/log/nginx/nginx_access.log \ #http访问日志的默认路径
--pid-path=/usr/local/nginx/run/nginx.pid \ #指定的文件将会写入Nginx master进程的pid,通常在/var/run下
--lock-path=/usr/local/nginx/lock/nginx \ #共享存储器互斥锁文件的路径
--with-http_ssl_module \ #启用 ngx_http_ssl_module 支持(使支持 https 请求,需已安装openssl)
--with-http_realip_module \ #启用 ngx_http_realip_module 支持(这个模块允许从请求标头更改客户端的 IP 地址值,默认为关)
--with-http_addition_module \ #启用 ngx_http_addition_module 支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)
--with-http_sub_module \ #启用 ngx_http_sub_module 支持(允许用一些其他文本替换nginx 响应中的一些文本)
--with-http_dav_module \ #启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY 和 MOVE 方法)默认情况下为关闭,需编译开启
--with-http_flv_module \ #启用 ngx_http_flv_module 支持(提供寻求内存使用基于时间的偏移量文件)
--with-http_gzip_static_module \ #启用 ngx_http_gzip_static_module 支持(在线实时压缩输出数据流)
--with-http_stub_status_module \ #启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)
--with-http_perl_module \ #Nginx配置能够扩展使用Perl代码。这个选项启用这个模块(然而使用这个模块会降低性能)
--with-mail \ #该选项用于启用mail模块,该模块默认没有被激活
--with-mail_ssl_module \ #为了代理任何一种类型的使用SSL/TLS的mail,激活该模块
--with-pcre \
--http-client-body-temp-path=/var/tmp/nginx/client/ \ #从客户端收到请求后,该选项设置的目录用于作为请求体零食存放的目录,如果WebDAV模块启用,那么推荐设置该路径为同一文件系统上的目录作为最终的目的地
--http-proxy-temp-path=/var/tmp/nginx/proxy \ #在使用代理后,通过该选项设置存放临时文件路径
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \ #设置FastCGI临时文件的目录
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \ #设置uWSGI临时文件的目录
--http-scgi-temp-path=/var/tmp/nginx/scgi #设置SCGI临时文件的目录 ./configure --user=www --group=www --prefix=/usr/ --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --error-log-path=/var/log/nginx/nginx_error.log --http-log-path=/var/log/nginx/nginx_access.log --pid-path=/usr/local/nginx/run/nginx.pid --lock-path=/usr/local/nginx/lock/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-mail_ssl_module --with-pcre --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi

http://www.nginx.cn/install

.nginx编译选项

make是用来编译的,它从Makefile中读取指令,然后编译。

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本,执行结束时,它会创建一个Makefile文件。nginx的configure命令支持以下参数:

--prefix=path    定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。
--sbin-path=path 设置nginx的可执行文件的路径,默认为 prefix/sbin/nginx.
--conf-path=path 设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf.
--pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid.
--error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为prefix/logs/error.log.
--http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.
--user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。
--group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。
--with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
--without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。
--without-http_proxy_module — 不编译http_proxy模块。
--with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。
--with-pcre=path — 设置PCRE库的源码路径。PCRE库的源码(版本4. - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。
--with-pcre-jit —编译PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。
--with-zlib=path —设置的zlib库的源码路径。要下载从 zlib(版本1.1.3 - 1.2.)的并解压。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模块需要使用zlib 。
--with-cc-opt=parameters — 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件数量:--with-cc-opt="-D FD_SETSIZE=".
--with-ld-opt=parameters —设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:--with-ld-opt="-L /usr/local/lib".

1、运行环境包

yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel lua-devel perl

2、额外的软件包

LuaJit: http://luajit.org/download.html
ningx: https://nginx.org/download/nginx-1.14.2.tar.gz
pcre: https://ftp.pcre.org/pub/pcre/pcre-8.42.zip
ngx_devel_kit: https://github.com/simplresty/ngx_devel_kit/tags lua-nginx-module https://github.com/openresty/lua-nginx-module/tags
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.14rc3.tar.gz --no-check-certificate wget http://ftp.17gogoing.com:8852/pub/nginx/nginx_upstream_check_module-master.tar.gz —— 检查后端服务器的状态
nginx_goodies: https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/downloads/?tab=downloads 下载地址 —— 后端做负载均衡解决session sticky问题

注释:所有的软件包均下载到/usr/local/src目录下

百度云链接地址:

3、安装编译

cd /usr/local/src/nginx-1.14.2

patch -p1 < /usr/local/src/nginx_upstream_check_module-master/check_1.12.1+.patch

#编译参数如下:
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/log/nginx/nginx.pid \
--lock-path=/usr/local/nginx/lock/nginx.lock \
--http-log-path=/var/log/nginx/access.log \
--with-openssl=/usr/local/src/openssl-1.0.2k \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_mp4_module \
--http-proxy-temp-path=/usr/local/nginx/proxy_tmp \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre=/usr/local/src/pcre-8.42 \
--add-module=/usr/local/src/ngx_devel_kit-0.3.0 \
--add-module=/usr/local/src/lua-nginx-module-master \
--add-module=/usr/local/src/nginx_upstream_check_module-master make -j 4 && make install

nginx 编译安装时的编译参数说明(不建议看)的更多相关文章

  1. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  2. 解决Mac OS编译安装时出现 cannot find openssl's <evp.h> 错误的问题

    踩坑 最近通过pecl安装mongodb扩展时,提示以下错误 ...... configure: error: Cannot find OpenSSL's <evp.h> ...... 根 ...

  3. swoole模块的编译安装:php编译安装swoole模块的代码

    本篇文章给大家带来的内容是关于swoole模块的编译安装:php编译安装swoole模块的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.下载swoole 1 wget ht ...

  4. nginx配合zabbix编译安装时web下一步跳转问题

    很多时候编译安装的时候把zabbix的php包拷贝到web所在目录之后(本文为nginx所在html目录),网页打开http:/localhost/zabbix却进不去下图: 或者是点了下一步没反应, ...

  5. nginx php-fpm安装配置 CentOS编译安装php7.2

    CentOS编译安装php7.2 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说.如果你是升级或新安装,那你首先需要考虑php7和程序是 ...

  6. 编译安装php5 解决编译安装的php加载不了gd

    1. 编译安装php需要的模块: yum install libxml2-devel libxml2  curl curl-devel  libpng-devel  libpng  openssl o ...

  7. ngixn编译安装时,pcre的处理

    nginx编译时pcre会提示找不到libpcre.so.1 ./configure --hlep --without-pcre disable PCRE library usage   不使用pcr ...

  8. centos-rpm安装的mariadb,php52源码编译安装时注意点

    1.不要静态指定with-mysql 以扩展的mysql.so的形式安装 2.找不到header file之类的 要yum install mysql-devel find / -name mysql ...

  9. 7.2.*PHP编译安装时常见错误解决办法,php编译常见错误

    configure: error: Cannot find ldap.h   检查下面是不是已经安装,如果没有安装之:检查:yum list openldapyum list openldap-dev ...

随机推荐

  1. Spring Boot + Spring Cloud 构建微服务系统(三):服务消费和负载(Feign)

    Spring Cloud Feign Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端.它使得编写Web服务客户端变得更加简单.我们只需要通过创建接口 ...

  2. epoll的ET和LT模式

    epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT). 在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用 ...

  3. 如何自定义CSS滚动条的样式?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由前端林子发表 本文会介绍CSS滚动条选择器,并在demo中展示如何在Webkit内核浏览器和IE浏览器中,自定义一个横向以及一个纵向的 ...

  4. 【Flask-RESTPlus系列】Flask-RESTPlus系列译文开篇

    0x00 背景介绍 因为工作上的需要,最近开始研究Python中实现Restful API的框架和工具包.之前粗略学习过Flask,由于它比较轻量级,感觉用它来实现Restful API再适合不过了. ...

  5. 一句命令修复Xcode6.2插件失效的问题

    Xcode升级到6.2之后XVim无法使用了. 打开终端输入: find ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins - ...

  6. [design-patterns]设计模式之一策略模式

    设计模式 从今天开始开启设计模式专栏,我会系统的分析和总结每一个设计模式以及应用场景.那么首先,什么是设计模式呢,作为一个软件开发人员,程序人人都会写,但是写出一款逻辑清晰,扩展性强,可维护的程序就不 ...

  7. 近期ASP.NET问题汇总及对应的解决办法

    1. 使用SQL统计一个字符串中指定字符的个数,示例(统计0的个数): ','')) 2. 使用Forms认证,客户端本地时间不对无法登陆系统,解决办法: FormsAuthentication.Re ...

  8. hadoop 核心概念及入门

    Hadoop Hadoop背景 什么是HADOOP HADOOP是apache旗下的一套开源软件平台HADOOP提供利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理,HADOOP的核 ...

  9. windows使用笔记-google-chrome下载地址

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! google-chrome下载地址:https://www.google.cn/intl/zh-CN/chrome/

  10. sql server: left join 重复数据

    ---涂聚文 2017-9-28 SELECT VipExamMailProjectId,VipExamMailStaffID FROM VipExamMailRecord WHERE VipExam ...