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
  • 相关阅读:
    ubuntu18.04登录界面背景图的更换
    java面向对象基础知识
    java语法+变量
    sql查询
    sql的增删改查
    事件概念和事件监听
    DOM对HTML元素的增删改操作
    DOM对HTML元素访问操作2
    DOM对HTML元素访问操作
    BOM模型中常用对象的介绍
  • 原文地址:https://www.cnblogs.com/huangyanqi/p/10303969.html
Copyright © 2011-2022 走看看