Rails プロジェクトのスーパーバイザーとして Circus を使用していますが、選択した Ruby サーバーである Thin で動作させるには奇妙な問題があります。これは私のcircus.ini
です:
[circus]
check_delay = 5
[socket:server]
host = 127.0.0.1
port = 8080
[watcher:server]
working_dir = /home/myuser/myproject/myproject
cmd = bundle exec thin start -C /home/myuser/myproject/etc/thin.yml -S $(circus.sockets.server)
use_sockets = True
numprocesses = 3
stdout_stream.class = FileStream
stdout_stream.filename = /home/myuser/myproject/log/circus_server.log
stdout_stream.time_format = %Y-%m-%d %H:%M:%S
[env:server]
RAILS_ENV=production
しかし、サーカス ( sudo service circus start
) を開始すると、ログに次のように表示されます。
$ cat log/circus.log 2014-06-03 10:42:27 circus[30987] [INFO] pid 30987 2014-06-03 10:42:27 circus[30987] [INFO] ソケット開始 2014- 06-03 10:42:27 サーカス [30987] [警告] 「サーバー」のエラー: [Errno 2] そのようなファイルまたはディレクトリはありません 2014-06-03 10:42:27 サーカス [30987] [警告] エラー ' server': [Errno 2] No such file or directory 2014-06-03 10:42:27 circus [30987] [WARNING] error in 'server': [Errno 2] No such file or directory 2014-06-03 10 :42:27 サーカス [30987] [警告] 'サーバー' のエラー: [Errno 2] そのようなファイルまたはディレクトリはありません 2014-06-03 10:42:27 サーカス [30987] [警告] 'サーバー' のエラー: [ Errno 2] No such file or directory 2014-06-03 10:42:27 circus[30987] [INFO] サーバーが停止しました 2014-06-03 10:42:27 circus[30987] [INFO] アービターがコマンドを待機しています
実際のところ、cmd
他のコマンドに変更したpython -m SimpleHTTPServer
ところ、うまくいきました。ここで何が起こっているのですか?
編集:これは、私が circusd を実行するとどうなるか--log-level debug
です... circus.ini に関係なく、同じ出力が得られますcopy_env = True
。