mongrel2上で実行される竜巻のようなPythonフレームワークであるBrubeckにWebアプリをデプロイしようとしていますが、ファブリックスクリプトでmongrel2をデプロイするのに問題があります。
私のfabfileから:
with cd(project_dir):
run('mkdir -p run && mkdir -p log && mkdir -p tmp')
run('m2sh load -config mongrel2.conf -db the.db')
sudo('m2sh start -db the.db -host localhost -sudo')
そして私のmongrel2.confは非常に基本的です:
brubeck_handler = Handler(
send_spec='ipc://127.0.0.1:9999',
send_ident='34f9ceee-cd52-4b7f-b197-88bf2f0ec378',
recv_spec='ipc://127.0.0.1:9998',
recv_ident='')
brubeck_host = Host(
name="localhost",
routes={
'/': brubeck_handler})
brubeck_serv = Server(
uuid="f400bf85-4538-4f7a-8908-67e313d515c2",
access_log="/log/mongrel2.access.log",
error_log="/log/mongrel2.error.log",
chroot="./",
default_host="localhost",
name="brubeck app",
pid_file="/run/mongrel2.pid",
port=6767,
hosts = [brubeck_host]
)
settings = {"zeromq.threads": 1}
servers = [brubeck_serv]
m2sh start基本的に、上記と同じコマンドを使用して、サーバー上でmongrel2を正常に起動できます。しかし、fabricタスクを実行すると、mkdirandm2sh loadタスクは正常に実行されますが、mongrel2が起動しません。サーバーのコマンドラインに貼り付けたときにその開始コマンドが機能するのに、デプロイスクリプトでは機能しない理由を知っている人はいますか?AFAIK -sudoオプションはバックラウンドプロセスとしてmongrel2を実行するので、シェルが閉じられているという問題ではないと思います(念のため、「nohup」を使用してみましたが、役に立ちませんでした)。mongrel2を開始するために何か別のことをする必要がありますか?