zoukankan      html  css  js  c++  java
  • centos7 源码编译nginx

    使用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  
    
    

    配置启动服务

  • 相关阅读:
    springboot与微信开发(一)
    使用springboot+layim+websocket实现webim
    使用springboot+layim+websocket实现webim
    Spring boot WebSocket 注入失败
    使用spring boot +WebSocket的那些坑
    Scrapy 问题锦集(后边继续更新)
    mac安装并创建Scrapy项目
    mac 安装MySQL-python的坑
    IDEA/Pycharm文件头注释模板
    工作用到的正则及测试工具
  • 原文地址:https://www.cnblogs.com/xkus/p/7464415.html
Copyright © 2011-2022 走看看