nginx常用模块原理及如何添加模块

一、常见模块

模块 作用
with-http_stub_status_module 记录nginx的基本访问信息,让使用者了解nginx的工作状态信息。
ngx_http_access_module 实现nginx的访问控制,例可以允许或指定的IP地址访问某些虚拟主机或目录
ngx_http_log_module

实现把每一个用户访问网站的日志信息记录到指定的日志文件中,供网站提供者分析用户的浏览行为

 

ngx_http_ssl_module nginx提供HTTPS支持
ngx_http_proxy_module 实现web服务器的代理功能
ngx_http_upstream_module 实现web服务器的负载均衡
ngx_http_rewrite_module URL地址重写模块
ngx_http_gzip_module 在线实时压缩输出数据流

   正向代理:架设在客户机和目标机之间,只用于代理内部网络对intermet的链接请求,客户机必须制定代理服务器,并将本来直接要发送到web服务器上的http请求发送到代理服务器中。

   反向代理:服务器架设在服务器端,通过缓冲经常被请求的页面来缓存服务器的工作量,将客户机的请求转发给内部网络上的目标服务器;并将从服务器上的得到的结果返回给internet上请求链接的客户端;

   反向代理的作用:防火墙,缓存,负载均衡。

二、安装第三方模块

   (1)未安装nginx的情况下

            

# ./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--add-module=/nginx_module/ngx_cache_purge \
--add-module=/nginx_module/echo-nginx-module-0.58
# make
# make install
# /usr/local/nginx/sbin/nginx

(2)已安装nginx的情况下

# /usr/local/nginx/sbin/nginx -V
# ./configure --prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--add-module=/nginx_module/ngx_cache_purge
# make
# cp objs/nginx /usr/local/nginx/sbin/nginx
# /usr/local/nginx/sbin/nginx -s reload

(3)具体举例

     ①、查看nginx安装的模块

   

[root@localhost ~]# /opt/data/nginx/sbin/nginx -V
nginx version: nginx/1.14.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/data/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-stream

    ②、下载模块

    

[root@localhost ~]# wget https://github.com/openresty/echo-nginx-module/archive/v0.60.tar.gz
[root@localhost ~]# tar xf v0.60.tar.gz

 

  ③、安装模块

[root@localhost nginx-1.17.0]# ./configure --prefix=/opt/data/nginx 
--with-http_stub_status_module 
--with-http_ssl_module 
--with-stream 
--add-module=/root/echo-nginx-module-0.60
[root@localhost nginx-1.17.0]# make
注意:不能 make install

④、将生成的nginx新文件将旧文件覆盖

[root@localhost nginx-1.17.0]# systemctl stop nginx
[root@localhost nginx-1.17.0]# cp objs/nginx /opt/data/nginx/sbin/nginx 
[root@localhost nginx-1.17.0]# systemctl start nginx

 

你可能感兴趣的:(nginx常用模块原理及如何添加模块)