zoukankan      html  css  js  c++  java
  • nginx 编译安装时的编译参数说明(不建议看)

    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

    2.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.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.5)的并解压。其余的工作是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=2048".
    --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
  • 相关阅读:
    flume sink两种类型 file_rool 自定义sing com.mycomm.MySink even if there is only one event, the event has to be sent in an array
    为什么引入进程20年后,又引入线程?
    As of Flume 1.4.0, Avro is the default RPC protocol.
    Google Protocol Buffer 的使用和原理
    Log4j 2
    统一日志 统一订单
    网站行为跟踪 Website Activity Tracking Log Aggregation 日志聚合 In comparison to log-centric systems like Scribe or Flume
    Percolator
    友盟吴磊:移动大数据平台的架构、实践与数据增值
    Twitter的RPC框架Finagle简介
  • 原文地址:https://www.cnblogs.com/huangyanqi/p/10303969.html
Copyright © 2011-2022 走看看