Nginx配置属性监控
Nginx自带监控模块,但需要在编译安装时加入相应的模块。具体步骤如下:
- 编译安装Nginx时加入监控模块:
- 使用
--with-http_stub_status_module
编译参数。 - 示例命令:
./configure --prefix=/opt/nginx --with-http_stub_status_module
- 使用
- 修改配置文件nginx.conf:
- 在配置文件中添加如下配置以开启监控:
nginx
location = /nginx_status {
stub_status on;
access_log off;
# 允许特定IP访问监控页面,拒绝其他所有IP
allow 10.16.23.102;
deny all;
}
- 其中
allow
指令后面跟的是允许访问的IP地址,deny all;
表示拒绝其他所有IP访问。
- 在配置文件中添加如下配置以开启监控:
- 重启Nginx:
- 修改完配置文件后,需要重启Nginx以使配置生效。
- 访问监控页面:
- 在浏览器中输入
http://nginx服务器IP地址:端口号/nginx_status
,即可进入Nginx监控页面,查看当前连接数、接收的请求数等监控信息。
- 在浏览器中输入
Nginx代理动态服务器
Nginx可以实现动态代理,将请求转发到后端服务器。以下是一个基本的配置示例:
- 配置Nginx:
- 在Nginx配置文件中(如nginx.conf),添加server块和location块来配置代理规则。
- 示例配置:
nginx
server {
listen 80;
server_name domain.com;
location /app1 {
proxy_pass http://192.168.10.38:3000/app1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
- 这个配置会将所有到
http://domain.com/app1
的请求转发到http://192.168.10.38:3000/app1
。
- 重启Nginx:
- 修改配置后,需要重启Nginx以使配置生效。
Nginx访客IP黑名单
Nginx可以使用ngx_http_access_module
模块来实现基于IP的访问控制,包括设置IP黑名单。
- 修改Nginx配置文件:
- 在适当的位置(如http块、server块或location块)使用
deny
指令来指定拒绝的IP地址或IP地址范围。 - 示例配置:
nginx
http {
server {
location / {
deny 192.168.1.100; # 拒绝单个IP地址
deny 10.0.0.0/24; # 拒绝IP地址范围
allow all; # 允许其他所有IP地址(注意:deny和allow指令的顺序很重要)
}
}
}
- 在适当的位置(如http块、server块或location块)使用
- 重启Nginx:
- 修改配置后,需要重启Nginx以使配置生效。
Nginx负载均衡
Nginx支持多种负载均衡策略,如轮询、权重、最少连接数等。
- 配置负载均衡:
- 在Nginx配置文件中,使用
upstream
块定义一组服务器,然后在server
块中使用proxy_pass
指令将这些请求转发到这组服务器。 - 示例配置(轮询策略):
nginx
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
- 在Nginx配置文件中,使用
- 配置其他策略:
- 可以在
upstream
块中使用weight
(权重)、least_conn
(最少连接数)等指令来配置其他负载均衡策略。
- 可以在
- 重启Nginx:
- 修改配置后,需要重启Nginx以使配置生效。
Nginx平滑升级
Nginx支持平滑升级,可以在不中断服务的情况下升级Nginx版本或添加新模块。
- 下载新版本的Nginx:
- 从Nginx官网下载新版本的源代码包。
- 编译安装新版本的Nginx: