Nginx模块安装配置
一、查看nginx安装的模块
要查看Nginx安装了哪些模块,可以使用Nginx的二进制文件运行nginx -V命令。这将输出Nginx版本和配置参数,包括编译时包含的模块。在命令行中运行以下命令:
nginx -V
查看输出中的 --with- 参数,这些参数后面通常会跟着模块名称,比如--with-http_ssl_module表明SSL模块已安装。
如果你想要获取更加详细的模块列表,可以查看Nginx的配置文件,通常在/etc/nginx/nginx.conf,或者在编译Nginx时生成的config.log文件。
例如,查看/etc/nginx/nginx.conf文件中的load_module指令,可能会加载额外的模块文件。
cat /etc/nginx/nginx.conf | grep load_module
如果你想要获取动态模块的信息,可以使用如下命令:
nginx -V 2>&1 | tr ' ' '\n' | grep -- '--add-module'
这将列出所有通过--add-module参数添加的外部模块的路径。
二、nginx 安装模块
Nginx 自带的模块通常是编译时内置的,无法通过 apt
安装来增加。如果你需要更多的模块,需要从源代码编译 Nginx,并在编译时添加所需的模块。
以下是编译安装 Nginx 并添加额外模块的基本步骤:
1、安装编译工具和依赖库:
sudo apt update sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
2、下载相应的版本
wget http://nginx.org/download/nginx-1.20.1.tar.gz tar -zxvf nginx-1.20.1.tar.gz cd nginx-1.20.1/
3、配置要添加的模块
./configure --add-module=/path/to/your/module
4、编译并安装
make sudo make install
三、nginx限流
nginx限流可以有两种方式,包括限制并发连接数和你需要的限制访问频率,限制访问频率使用的是limit_req_zone模块。
针对你需要设置限制访问频率的虚拟服务,针对相应的server使用语法为“limit_req_zone key zone rate”的配置即可。
server块外
limit_req_zone $binary_remote_addr zone=rateLimit:1m rate=5r/s;
按照客户端ip进行限流,1m空间存储16000个ip,每秒5个连接。
server块内:
limit_req zone=rateLimit burst=10 nodelay;
表示超过访问频率的先放入大小为10的缓冲区,当该缓冲区满了的时候,nodelay直接返回503,否则等待排队。
配置如下表示:
`limit_req_zone`用于定义一个名为`rate_limit`的限制区域,将客户端IP地址作为键,并设置限制区域的大小为10MB,限制频率为10个请求每秒。
在`location`块中使用`limit_req`指令来应用限流策略。`burst`参数表示在达到限制频率时,允许的最大突发请求数量,`nodelay`参数表示不延迟请求,即超过限制频率的请求将立即返回503错误。
上述配置将每个客户端IP地址的请求限制为每秒最多10个请求,允许最大突发请求数量为20个,并在超出限制时立即返回503错误。
http { limit_req_zone $binary_remote_addr zone=rate_limit:10m rate=10r/s; server {
... location / { limit_req zone=rate_limit burst=20 nodelay; ... } } }
标签:zone,nginx,req,Nginx,limit,模块,安装 From: https://www.cnblogs.com/fieldtianye/p/18126271