Nginx Status监控
发表于|更新于|基础运维
1 | server { |
这个时候请求,返回
1 | curl localhost:8080/nginx_status |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-09-15
Nginx使用module_vts模块来做监控
最近我们想要用 Prometheus 来监控 Nginx 的状态,所以看了一下有个 module 可以支持。项目地址在:https://github.com/vozlt/nginx-module-vts.git 重新编译 Nginx首先执行 nginx -V 查看编译参数,记录一下, 比如 然后需要 Nginx 源码包和当前安装的 Nginx 版本相同 下载 nginx_module_vts 进入 nginx 源码目录 开始编译,编译时增加一条参数 结合上面记录的编译参数,完整的编译参数是: 开始编译 然后将编译好的二进制文件替换现有的 nginx 注:nginx-module-vts 模块从 0.1.17+ 版本之后原生支持 prometheus 数据格式,可跳过 nginx-vts-exporter 的安装。 之前没安装过 nginx 的可以直接 make && make install 开启监控 监控接口为:
2025-11-03
ingress-nginx 使用自定义的nginx配置
新版 ingress 增强了 安全性, 它认为用户自己写的 nginx 配置文件不安全,所以又加了限制。(允许自定义 nginx 配置有一定安全风险,酌情修改!)我的 ingress 版本是: 1.12.2 比如有个需求,Spring Boot 写的程序有个 /actuator 路径,安全审查不通过,如果是个 nginx 可以通过: 来直接让它返回 404 configmap 加上这两个配置:allow-snippet-annotationsannotations-risk-level 风险等级,在这里可以查到:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations-risk/ ingress 配置 server-snippet 作用于 server 块configuration-snippet 作用于 location 块 注意: 当启用 use-regex 时,所有路径都会被当作正则表达式处理,会影响到匹配。
2026-02-21
ingress-nginx 去除指定context path
比如我想去掉 url 中的 /a 方法一、使用 Nginx 配置片段 但是这种方式需要修改 ingress nginx 开启支持 nginx 配置的功能,详情见 ingress-nginx 使用自定义的nginx配置 方法二、使用 ingress nginx 原生配置需要去除 context path 的路径,创建专门的 ingress,比如:
2026-09-15
Nginx设置图片防盗链
常见的使用 Nginx 进行防盗链配置是利用了 referer, 也就是来源地址来判断, 只要不是白名单中的地址, 就禁止访问, referer 是比较有效的方式, 但是可以轻松绕过, 目的是为了防止页面被别人复制粘贴我们的文章, 图片等资源依然使用我们的连接, 占用带宽或流量造成费用. 白名单模式这种模式就是在白名单之外的所有域名都不能请求我们的图片等资源 配置示例: 黑名单模式未完待续…
2026-08-26
编译安装Nginx记录
简易编译openssl 和 pcre 等组件,使用源里的包,源里面的包版本比较低,可能还有漏洞,但是比较方便。 静态编译 openssl 和 pcre通常来说编译不通过都是因为系统环境不满足条件,如缺少包等,本文以 CentOS 7 系统为例,其中有些包如 xxx-devel 在 ubuntu 下一般都是叫做 xxx-dev 的,实在找不到可以使用 apt-file 查找文件属于哪个包。 需要准备好这些包(不用监控可以不用准备 nginx-module-vts): 全部解压,然后进入 nginx-1.22.0 目录操作 首先运行一遍 configure 命令 nginx-module-vts 是监控模块,如果不用监控,可以将这一行删除user group prefix 这些参数只是个默认值,是可以被配置文件的配置覆盖的 常见报错解决C compiler cc is not found checking for --with-ld-opt="-ljemalloc" ... not found checking for zlib library ...
2026-08-26
Nginx负载均衡(反向代理)
7 层负载均衡 7 层就是用域名来进行转发 类似配置文件: vim /etc/nginx/conf.d/xxx.conf 反代到虚拟主机的另一台 Nginx比如现在有一台服务器,部署了 a、b 两个服务,比如 a.com 到 a 服务,b.com 到 b 服务,这种情况我的 Nginx 想要代理 b 服务,就需要指定反代 header proxy_set_header Host "b.com",配置如下 4 层负载 4 层负载就是类似端口转发 vim /etc/nginx.conf 最后添加: vim /etc/nginx/port_forward.conf 简单配置 复杂配置 max_fails=3 fail_timeout=30s; 这个配置的意思是:如果在 30 秒 内,对后端的请求失败了 3 次,那么接下来的 30 秒 内,Nginx 不会再向它发送任何请求,30 秒隔离期结束后,Nginx 会放一个请求过去试试水,如果这个请求 成功:服务器被重新标记为 “健康”,恢复流量转发。如果这个请求 失败:计数器归零,重新开始下一轮 30 ...
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加博主微信,进微信运维技术交流群:
