我将一些服务器configuration从Ubuntu Server 12.04移到CentOS 6.6。 现在我正在处理/etc/init
脚本,应该由操作系统上的upstart
来处理,据我所知。 这两个服务器上的文件是相同的,我的意思是相同的内容级别,也在path级别和权限级别,是从Ubuntu到CentOS的完全副本。 我在CentOS上遇到一些暴发户的问题,因为脚本无法启动,我无法find原因(原因)。 这是Ubuntu服务器上initctl list
的输出:
# 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
操作系统启动后没有启动进程,这是错误的。 为什么? 我在这里错过了什么? 可以给我一些build议吗?
在CentOS上,我也试着手动启动这个过程:
initctl start cmeBroker.conf
但是我得到这个错误:
initctl:未知作业:cmeBroker.conf
这是文件/ etc/init
cmbBroker.conf`的内容:
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
这是不对的?
打开消息系统日志tail /var/log/messages
你会看到一个错误日志,告诉你问题和行号。 看起来像这样:
Sep 21 16:34:28 0 init: /etc/init/uwsgi.conf:9: Unknown stanza