upstart CentOS 与 upstart Ubuntu 之间有什么区别?

upstart CentOS 与 upstart Ubuntu 之间有什么区别?

我正在将一些服务器配置从 Ubuntu Server 12.04 移至 CentOS 6.6。现在我正在编写/etc/init脚本,据我所知,这两个操作系统都应该可以处理该脚本upstart。两个服务器上的文件相同,我的意思是内容级别、路径级别和权限级别都相同,是从 Ubuntu 到 CentOS 的精确复制。我在 CentOS 上使用 upstart 时遇到了一些问题,因为脚本无法启动,我找不到原因。这是initctl listUbuntu 服务器的输出:

# Ubuntu 12.04
root@qa:/etc/init# initctl list
// rest of processes goes here
pdoneVendorBroker start/running, process 854
repToolBroker start/running, process 3705
emailBroker start/running, process 3738
cmeBroker start/running, process 3760
messageBroker start/running, process 3727
shareEventHandler start/running, process 3686
edetailBroker start/running, process 3749
pdoneLoginProctor start/running, process 3716

所有进程都已在操作系统启动时启动,没问题。

这是来自 CentOS 服务器的输出:

# CentOS 6.6
root@staging:/etc/init# initctl list
// rest of processes goes here
pdoneVendorBroker stop/waiting
repToolBroker stop/waiting
emailBroker stop/waiting
cmeBroker stop/waiting
messageBroker stop/waiting
shareEventHandler stop/waiting
edetailBroker stop/waiting
pdoneLoginProctor stop/waiting

操作系统启动后没有启动任何进程,这是错误的。为什么?我这里漏掉了什么?有人能给我一些建议吗?

在 CentOS 上,我也尝试通过运行以下命令手动启动该过程:

initctl start cmeBroker.conf

但是我收到了这个错误:

initctl:未知作业:cmeBroker.conf

这是文件 cmbBroker.conf 的内容/ etc/init

description "cmeBroker"

start on runlevel [234]
stop on runlevel [0156]

respawn
exec php /usr/local/bin/cmeBroker/cmeBroker.php
post-start script
    PID=`status cmeBroker | egrep -oi '([0-9]+)$' | head -n1`
    echo $PID > /var/run/cmeBroker.pid
end script

post-stop script
    rm -f /var/run/cmeBroker.pid
end script

这是不对的?

答案1

打开消息系统日志,tail /var/log/messages您将看到一个错误日志,其中显示问题和行号。如下所示:

Sep 21 16:34:28 0 init: /etc/init/uwsgi.conf:9: Unknown stanza

相关内容