我有一个使用supervisord运行的龙卷风Web应用程序。我从ssh手动启动,停止并重启Supervisord服务,它工作正常。我使用本地机器的布料执行以下操作:
运行fabfile时没有错误,但运行后我的服务器出现故障。以下是我的fabfile代码:
from fabric.api import *
from fabric.context_managers import settings
def prepare_deploy():
local('py.test')
local('git add .')
x = raw_input('what would you like your commit message to be? ')
local('git diff --quiet --exit-code --cached || git commit -m "' + x + '"')
local('git push origin master')
def dev():
prepare_deploy()
x = raw_input('Please enter the location of your keyFile for the dev server ')
if x == '':
key = 'key_file'
else:
key = x
with settings(
host_string='dev_server_name',
user='user_name',
Key_filename=key,
use_ssh_config = True):
code_dir='~/path/to/code/'
with cd(code_dir):
run("git pull origin master")
run("sudo python setup.py install")
run("sudo service supervisord restart")
完成此操作后,我的Web应用程序已关闭。关于为什么会发生这种情况的任何想法?
答案 0 :(得分:4)
Supervisor是一个管理服务的工具,没有必要重新启动它只是为了重新启动它控制的东西。
它附带了一个命令行工具来管理进程supervisorctl。您可以将其用作CLI界面或交互式shell。
如果要重新启动服务supervisorctl restart <service name>
(具有适当的权限,那么可能使用sudo
执行此操作。如果更改了服务的配置,请使用supervisorctl update
重新启动受影响的进程。如果您的进程没有启动,您可以使用来自主管的日志文件。
答案 1 :(得分:0)
主管在init.d脚本中有错误。不要restart
。 stop
然后start
。