Mat*_*sen 6 rhel nginx init init.d supervisord
init.d我正在尝试第一次编写脚本来启动supervisord进程。Supervisor 是一个过程控制器/管理器,如runit、upstart、 或systemd。我希望它在系统重新启动时自动启动,以便它可以启动我的应用程序。
我使用这个tldp 教程作为编写脚本的基础init.d。它工作正常,但我不明白应该如何修改文件中的这一行:
# chkconfig: 2345 95 05
Run Code Online (Sandbox Code Playgroud)
本行教程中的注释指出:
尽管这些是注释,但它们由 chkconfig 命令使用并且必须存在。该特定行定义在运行级别 2、3、4 和 5 上,该子系统将以优先级 95(最后一个)激活,并以优先级 05(第一个)停用。
这个RHEL 文档解释了各种运行级别:
0 - Halt
1 - Single-user text mode
2 - Not used (user-definable_
3 - Full multi-user text mode
4 - Not used (user-definable)
5 - Full multi-user grapical mode
6 - Reboot
Run Code Online (Sandbox Code Playgroud)
从这些选择中,我想我想在 上运行我的35,假设 1 仅适用于系统管理员。
有一些示例 Supervisordinit.d脚本,例如此处。我注意到所有 RHELinit.d脚本都包含以下行:
# chkconfig: 345 83 04
Run Code Online (Sandbox Code Playgroud)
在这种情况下,作者有什么理由希望它在“未使用”的运行级别 4 上处于活动状态?
我安装的 nginx init.d 脚本包含以下行:
# chkconfig: - 86 16
Run Code Online (Sandbox Code Playgroud)
-这里的运行级别是什么意思?
为什么这一行不包含停用优先级?
如何确定像这样的过程控制器的优先级supervisor?上面的脚本选择了 83 和 04,而 tldp 教程选择了 95 和 05。
chkconfig: 345 83 04
Run Code Online (Sandbox Code Playgroud)
在这种情况下,作者有什么理由希望它在“未使用”的运行级别 4 上处于活动状态?
由于不使用运行级别 4,因此打开或关闭它并不重要。345是比较容易写的、偷懒的方法。
你以后可以随时更改它
chkconfig --list supervisord
chkconfig --level 4 supervisord off
chkconfig --level 3 supervisord on
Run Code Online (Sandbox Code Playgroud)
我安装的 nginx init.d 脚本包含以下行:
chkconfig: - 86 16
Run Code Online (Sandbox Code Playgroud)
这里的 - 对于运行级别意味着什么?
这意味着您必须将破折号替换为级别或保持原样由 chkconfig 设置
chkconfig: 345 86 16
Run Code Online (Sandbox Code Playgroud)
为什么这一行不包含停用优先级?
345 run levels
86 activate priority
16 deactivate priority
Run Code Online (Sandbox Code Playgroud)
如何确定主管等过程控制器的优先级?上面的脚本选择了 83 和 04,而 tldp 教程选择了 95 和 05。
这些只是示例,并非真正的真实情况,它们的设置不同。
优先级通常并不重要,因为你不会定期打开或关闭你的机器,我不熟悉你的应用程序,我会推荐这个。
此网址包含不同的优先级 https://rayed.com/wordpress/?p=1496
chkconfig: 345 64 36
Run Code Online (Sandbox Code Playgroud)
或保持原样,让 chkconfig 为您配置它
chkconfig: - 64 36
Run Code Online (Sandbox Code Playgroud)
我在我的系统centOS上检查了我的答案,新推荐:
使用 yum 安装supervisord,保留默认优先级,因为它正在被许多其他人测试
urname -r
2.6.32-573.12.1.el6.centos.plus.x86_64
Run Code Online (Sandbox Code Playgroud)
安装supervisord:
sudo yum install supervisor
supervisor.noarch 0:2.1-9.el6
Run Code Online (Sandbox Code Playgroud)
此版本的supervisord的默认优先级是:
cat /etc/init.d/supervisord |grep chkconfig
#chkconfig: - 95 04
Run Code Online (Sandbox Code Playgroud)
更改开/关而不更改supervisord
[gliang@www prima]$ chkconfig --list supervisord
supervisord 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[gliang@www prima]$ sudo chkconfig --level 3 supervisord on
[gliang@www prima]$ sudo chkconfig --level 4 supervisord off
Run Code Online (Sandbox Code Playgroud)
级别 3 上的 S95 几乎具有最低优先级,晚启动,先关闭
[gliang@www prima]$ ls -ltr /etc/rc3.d/|grep supervisor
lrwxrwxrwx. 1 root root 21 Jan 29 08:02 S95supervisord -> ../init.d/supervisord
[gliang@www prima]$ ls -ltr /etc/rc4.d/|grep supervisor
lrwxrwxrwx. 1 root root 21 Jan 29 08:02 K04supervisord -> ../init.d/supervisord
Run Code Online (Sandbox Code Playgroud)
使用它来列出并查看该级别上所有守护进程的优先级
ls -ltr /etc/rc3.d/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4336 次 |
| 最近记录: |