加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何优雅地重启瘦nginx?

发布时间:2020-12-17 03:36:08 所属栏目:百科 来源:网络整理
导读:我的瘦服务器配置了nginx,我的ROR应用程序正在运行. 当我发布代码更新时运行精简重启会给我的应用程序带来一些停机时间.我试图想象如何优雅地重新启动正在运行的Thin实例,但我找不到一个好的解决方案. 有没有人能够做到这一点? 解决方法 # Restart just the
我的瘦服务器配置了nginx,我的ROR应用程序正在运行.

当我发布代码更新时运行精简重启会给我的应用程序带来一些停机时间.我试图想象如何优雅地重新启动正在运行的Thin实例,但我找不到一个好的解决方案.

有没有人能够做到这一点?

解决方法

# Restart just the thin server described by that config
sudo thin -C /etc/thin/mysite.yml restart

Nginx将继续运行并代理请求.如果您将Nginx设置为使用多个上游服务器,例如

server {
  listen        80;
  server_name  myapp.mysite.com;
  # ...
  location / {
    try_files $uri $uri/index.html /cache$uri.html $uri.html @proxy;
  }
  location @proxy {
    proxy_pass http://myapp.rails;
  }
}

upstream myapp.rails {
   server 127.0.0.1:9001 max_fails=1 fail_timeout=10s;
   server 127.0.0.1:9002 max_fails=1 fail_timeout=10s;
   server 127.0.0.1:9003 max_fails=1 fail_timeout=10s;
}

…然后,每个实例将依次重新启动,如果它停止,Nginx将自动路由一个代理周围的请求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读