V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Richard14
V2EX  ›  程序员

nginx 有什么办法查看当前的连接状态吗?比如在无占用的情况下重启服务?

  •  
  •   Richard14 · 2023-02-13 01:36:19 +08:00 · 1938 次点击
    这是一个创建于 634 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如需要定期修改配置并重启服务(更换 basic auth 密码啥的),有无方法检测当前是否有人正在对网站 get/post/ws 场连接,没人的话再重启这样就不会让用户体验不良?

    似乎翻日志是个办法,但是感觉不是很优雅,而且 ws 之类的好像读不到是否仍在连接

    9 条回复    2023-02-13 16:26:01 +08:00
    zwu999
        1
    zwu999  
       2023-02-13 02:21:48 +08:00
    netstat -np --tcp
    Tyanboot
        2
    Tyanboot  
       2023-02-13 02:41:14 +08:00
    默认情况下 nginx 不是有 gracefully 机制吗,单纯的 nginx -s reload 应该是不会影响的。
    Trim21
        3
    Trim21  
       2023-02-13 05:05:40 +08:00 via Android
    Nginx reload 不会影响之前的普通 HTTP 请求,旧 worker 处理完请求才会退出,新请求由新 worker 处理。
    ws 是怎么处理的就不清楚了。
    netnr
        4
    netnr  
       2023-02-13 08:32:06 +08:00 via Android
    # status
    location /nginx_status {
    stub_status on;
    access_log off;
    }
    julyclyde
        5
    julyclyde  
       2023-02-13 08:54:23 +08:00
    所以是不是应该考虑一下,真的要用 htpasswd 文件来认证吗?
    似乎 Windows AD 域可以支持新旧密码的交接期功能呢
    dzdh
        6
    dzdh  
       2023-02-13 09:02:16 +08:00
    ws 需要前端自己做自动断线重连

    除此以外,可以放心大胆的执行 nginx -s reload

    修改密码可以试试 auth_request
    betainCao
        7
    betainCao  
       2023-02-13 11:40:07 +08:00   ❤️ 1
    可以使用 Nginx 的状态模块来查看当前的连接状态。该模块通过提供一个 URL ,报告 Nginx 服务器的当前状态,包括连接数、请求数、内存使用等。

    要启用 Nginx 状态模块,需要在 Nginx 配置文件中添加以下内容:

    location /nginx_status {
    stub_status on;
    access_log off;
    allow 127.0.0.1;
    deny all;
    }
    这段配置会允许本机的 127.0.0.1 访问 Nginx 状态。

    然后重启 Nginx 服务器,在浏览器中访问 http://your-server-address/nginx_status 即可查看 Nginx 状态。

    如果当前没有连接,那么你就可以安全地重启 Nginx 服务器了。
    coolloves
        8
    coolloves  
       2023-02-13 13:15:20 +08:00
    这些难道不是 reload 下就可以了吗?为啥要重启呢
    lazyfighter
        9
    lazyfighter  
       2023-02-13 16:26:01 +08:00
    这特么是啥操作 我惊呆了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5057 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 03:51 · PVG 11:51 · LAX 19:51 · JFK 22:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.