如何安全地重新启动一个Ubuntu服务器灯栈?

我search了,所有资源都是关于如何执行重新启动。

我知道如何重新加载,重新启动,停止; Apache,MySQL等,以及如何重新启动操作系统。

我的问题是如何安全地执行服务器重启。 我刚刚安装了一些需要重新启动服务器的更新,因为有一些内核更新。

这是Ubuntu服务器13.10,在专用服务器上。 我通过SSH连接。

服务器运行良好,它是一个生产服务器,所以我想知道是否有适当的/正确的过程,或者如果sudo关机-r现在或sudo重新启动真的是所有需要的,或者我应该closures像数据库的主要进程,首先手动下降,所以我知道他们已经安全closures,然后重新启动主机操作系统?

我的大多数InnoDB的Percona数据库服务器是否会正确关机,或者只是抛弃? Ubuntu服务器将如何保证所有进程都已经刷新到磁盘上,并且在“丢弃”信号并重新启动之前给出“我可以暂停”的信号?

谢谢。

  1. 如果服务器在内核升级后没有启动,请制定计划
  2. closures面向客户端的networking连接(Web服务器),以便不再向数据库写入数据
  3. 停止数据库(按照build议使用init脚本可以按顺序closures服务)
  4. 发出重新启动命令

你应该configuration你的系统init脚本,这样当你的交换机运行级别和依赖性得到满足时,这些步骤会自动按照正确的顺序进行(首先closuresapache;然后closuresMySQL等)。 真的,这是Linux系统上存在的初始化脚本层次结构的目的。 此层次结构的devise使您可以执行满足您所需条件的正常closures。

内核肯定会将所有内容都刷新到磁盘上,一般情况下,closures会向每个进程发送“TERM”信号,试图让每个进程正常退出。 所以你唯一需要做的就是确保每个应用程序按照正确的顺序closures,只要在init脚本中给出正确的位置即可。

init脚本和相关的控制文件位于/etc/init.d和/ etc / default中

根据我的经验,维护重启应该从外层开始。 所以首先是应用程序服务器(apache,然后是php-fpm或uwsgi等),然后是数据库。 如果你像我一样偏执,运行htop和netstat来确保一切都closures。 那么如果你想确保hddcaching被刷新,你可以调用sync。

剩下的就是重启。

在大多数情况下,只需要重启即可,但安全是最好的策略。