• Nginx编译安装方式


    1、安装依赖包

    1)、pcre (Perl Compatible Regular Expressions)

    用来支持正则表达式。Nginx的 Core and Rewrite 两个模块使用。

    下载地址:

    http://www.pcre.org/

    安装方式:

    $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.44.tar.gz  # 具体版本可以视具体要求可定
    $ tar -zxf pcre-8.44.tar.gz
    $ cd pcre-8.44
    $ ./configure
    $ make
    $ sudo make install

    2)、zilb

    支持头(header)压缩。Nginx Gzip 模块使用。

    下载地址:

    http://zlib.net/

    安装方式:

    $ wget http://zlib.net/zlib-1.2.11.tar.gz
    $ tar -zxf zlib-1.2.11.tar.gz
    $ cd zlib-1.2.11
    $ ./configure
    $ make
    $ sudo make install

    3)、OPENSSL

    支持HTTPS协议。Nginx SSL 和其他模块需要。

    下载地址:

    https://www.openssl.org/source/

    安装方式:

    $ wget http://www.openssl.org/source/openssl-1.1.1g.tar.gz
    $ tar -zxf openssl-1.1.1g.tar.gz
    $ cd openssl-1.1.1g
    $ ./Configure darwin64-x86_64-cc --prefix=/usr
    $ make
    $ sudo make install

     

    2、下载Nginx源码包

    具体要使用的版本,也是视具体需求来定。

    $ wget https://nginx.org/download/nginx-1.19.0.tar.gz
    $ tar zxf nginx-1.19.0.tar.gz
    $ cd nginx-1.19.0

     

    3、编译安装

    1)、编译示例

    $ ./configure
    --prefix=/usr/local/nginx
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-pcre=../pcre-8.44
    --with-zlib=../zlib-1.2.11
    --with-http_ssl_module
    --with-stream
    --with-mail=dynamic
    --add-module=/usr/build/nginx-rtmp-module
    --add-dynamic-module=/usr/build/3party_module
    参数描述
    --prefix=<PATH> Nginx文件目录,默认:/usr/local/nginx
    --sbin-path=<PATH> Nginx可执行文件,默认:**/sbin/nginx
    --conf-path=<PATH> Nginx配置文件,可以在nginx命令行中,使用-c <FILENAME>指定运行。默认:**conf/nginx.conf
    --pid-path=<PATH> Nginx Pid文件,默认:**/logs/nginx.pid
    --error-log-path=<PATH> Nginx错误日志文件,默认:**/logs/error.log
    --http-log-path=<PATH> Nginx HTTP请求日志文件:**/logs/access.log
    --user=<NAME> Nginx工作进程使用的非权限用户名称,默认:nobody
    --group=<NAME> Nginx工作进程使用的用户组,默认:--user参数指定
    --with-pcre=<PATH> PCRE库路径
    --with-pcre-jit 支持PCRE库的“just-in-time compilation”
    --with-zlib=<PATH> ZLIB库路径

    2)、增加/删除nginx模块

    # 增加新模块
    --without-<MODULE-NAME>

    # 删除模块
    --without-<MODULE-NAME>
    模块名称描述
    http_access_module 接收或者禁止指定客户端IP地址
    http_auth_basic_module 支持用户名和密码的HTTP基础认证协议
    http_autoindex_module 处理以前斜杠字符(/)结尾的请求,并生成目录列表
    http_browser_module 创建变量,其值依赖于User-Agent请求头的值
    http_charset_module 将指定的字符集添加到Content-Type响应头。 可以将数据从一个字符集转换为另一个字符集。
    http_empty_gif_module 发出一个单像素透明GIF
    http_fastcgi_module 通过请求给FastCGI服务器
    http_geo_module 创建变量,其值依赖于客户端IP地址的值
    http_gzip_module 使用gzip压缩,减少传输数据大小
    http_limit_conn_module 限制每个定义键的连接数,特别是来自单个IP地址的连接数
    http_limit_req_module 限制每个已定义键的请求处理速率,特别是来自单个IP地址的请求处理速率。
    http_map_module 创建变量,其值依赖于其他变量的值。
    http_memcached_module 通过请求给memcached服务器
    http_proxy_module 通过HTTP请求给其他服务器
    http_referer_module 阻止在Referer报头中有无效值的请求
    http_rewrite_module 使用正则表达式更改请求URI并返回重定向; 有条件地选择配置。 需要PCRE库。
    http_scgi_module 通过请求给到一个SCGI服务器
    http_ssi_module 在响应中处理SSI (Server Side Includes,服务器端包含)命令
    http_split_clients_module 创建适合A/B测试的变量,也称为分割测试。
    http_upstream_hash_module 启用Hash负载均衡方法
    http_upstream_ip_hash_module 启用IP Hash负载均衡方法
    http_upstream_keepalive_module 启用keepalive连接
    http_upstream_least_conn_module 启用最小连接负载均衡方法
    http_upstream_zone_module 启用共享内存空间模块
    http_userid_module 设置适合客户端识别的cookie
    http_uwsgi_module 通过请求给一个uwsgi服务器
    -- with-http_ssl_module 支持HTTPS协议
    --with-file-aio 启用异步I/O
    -- with-http_mp4_module 使能服务器端支持MP4文件
    -- with-http_v2_module 支持HTTPv2协议
    -- with-stream 启用TCP和UDP代理功能
    --with-threads 使能Nginx使用线程池

     

    特殊说明:

    SCGI:SCGI协议是一个CGI(通用网关接口)协议的替代品, 它是一个应用与HTTP服务器接口标准。

    uwsgi:uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议,是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask框架写的程序)通信的一种规范。

    WSGI / uwsgi / uWSGI 三个概念的区分:

    • WSGI是一种通信协议。

    • uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信。

    • 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。

    3)、动态添加第三方库

    $  ./configure ... --add-dynamic-module=<PATH>

    *.so会写入到 prefix/modules/ 目录中

    成功添加完动态库后,需要将.so文件添加到Nginx配置文件中

    load_module modules/ngx_mail_module.so;

    4、安装Nginx

    $ make
    $ sudo make install

    5、检查Nginx配置文件语法

    $ sudo nginx -t prefix/conf/nginx.conf

    6、启动Nginx

    $ sudo nginx

     

  • 相关阅读:
    对C++类的继承和派生的理解
    排序算法 之 归并排序
    排序算法 之 冒泡排序
    排序算法 之 选择排序
    排序算法 之 插入排序
    排序算法 之 快速排序
    进程和线程
    C++ 之 强制转换
    C++ 之 智能指针
    C++ STL 之 分配器(allocator)
  • 原文地址:https://www.cnblogs.com/mengxp/p/15140265.html
Copyright © 2020-2023  润新知