mysql - 在 Cloud66 上重新启动 Mysql Server 和 Rails 服务器时,如何最大限度地减少停机时间和用户面临的错误?

标签 mysql ruby-on-rails cloud66

在 Cloud66 上重新启动 mysql 和 Rails 服务器的最佳实践是什么,以最大程度地减少用户看到错误的可能性?

背景 有时通过 ssh 登录服务器时,会出现一条消息“需要重新启动系统” 有时,安全升级需要重新启动。

当前方法

我目前的 mysql 方法是:

  1. 将应用置于维护模式
  2. 使用bluepill命令停止mysql
  3. 使用“shutdown -r now”命令重新启动服务器
  4. 服务器启动后,确认bluepill mysql服务正在运行
  5. 将应用重新置于非维护模式

我目前的 Rails 服务器方法是:

  1. 使用 bluepill 命令停止 Web 服务(这是因为我有多个 Web 服务器,因此应用程序可以使用备用 Web 服务器继续运行)
  2. 使用“shutdown -r now”命令重新启动服务器
  3. 服务器启动后,确认 bluepill Web 服务正在运行

你是怎么做到的?

最佳答案

你的做法听起来很合理。在大多数情况下,安装 Linux 内核更新后需要重新启动,该更新通常包含安全更新,并且只有在重新启动后才会生效。因此重新启动是一个很好的做法,您只需要确定执行此操作的最佳时间即可。

要确定正在更新的内容(以及重新启动的紧迫性),您可以随时运行 cat /var/run/reboot-required.pkgs 。除了在通过 SSH 连接到服务器时收到需要重新启动的通知之外,您还可以通过运行 ls /var/run/reboot-required 来检查 reboot-require 文件是否存在。 。

为了添加到您的方法中,您可能还需要在重新启动数据库时停止任何将连接到数据库的后台任务。

关于mysql - 在 Cloud66 上重新启动 Mysql Server 和 Rails 服务器时,如何最大限度地减少停机时间和用户面临的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22451695/

相关文章:

mysql: like operators 找到精确匹配

ruby-on-rails - Ruby 正则表达式匹配双 mustache 但不匹配三 mustache

ruby-on-rails - rake 中止!参数错误 : same file:

ruby-on-rails - 更改 Carrierwave 上传路径以适应 Cloud 66 的配置

mysql - Statement.Close 是否影响 mysql 在 golang 中线程安全的 LAST_INSERT_ID?

php - 在 php 中生成带有换行符的 csv 时出现小故障

php - fetch_assoc 不显示第一行结果

ruby-on-rails - 如何在没有 root 用户的情况下运行 ruby​​ on Rails 的 docker 容器?

sql - 在 Rails 3/ActiveRecord 中构建 LIKE 查询时转义 %% 的正确方法

ruby-on-rails - Rails 缓存权限错误