官方文档: http://nginx.org/en/docs/
官方第三方扩展地址:https://www.nginx.com/resources/wiki/modules/index.html
https://www.nginx.com/products/nginx/modules
nginx 内置常量
1 | $arg_name 请求中的name参数 |
echo 扩展
为NGINX HTTP服务器提供熟悉的shell样式命令
安装
1 | ./configure --prefix=/usr/local/nginx --add-module=../echo-nginx-module |
注意:默认nginx输出类型default_type application/octet-stream;
要把输出类型注释掉
文档
https://github.com/openresty/echo-nginx-module
GeoIP2模块
- ip 地址库下载
https://dev.maxmind.com/geoip/geoip2/geolite2/
- 地址:
git clone https://github.com/leev/ngx_http_geoip2_module
安装:
1
./configure --prefix=/usr/local/nginx --add-dynamic-module=../ngx_http_geoip2_module
问题: 需要安装 libmaxminddb 库,这个是用来读取ip数据文件的。
1
2
3
4
5
6
7
8
9wget https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz
./configure
make
make install
echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
ldconfig
下载安装 ip 库
gunzip GeoLite2-Country.mmdb.gz 解压
PHP模块
Embedded php script language for nginx-module
- 地址:
https://github.com/rryqszq4/ngx_php
- 安装:
https://github.com/rryqszq4/ngx_php7
js 模块
文档:https://nginx.org/en/docs/njs/install.html
yum install mercurial hg # 安装依赖
安装:1
2
3
4
5hg clone http://hg.nginx.org/njs
./configure --add-module=path-to-njs/nginx
./configure --prefix=/usr/local/nginx --add-dynamic-module=../ngx_http_geoip2_module --add-module=../echo-nginx-module \
--add-module=../njs/nginx