
コンテナ内で Mono Web アプリケーションを起動するための独自の init スクリプトを作成しましたmod-mono-server2
( は使用していませんがAutoHosting
、そのことは認識しています)。
openSUSE 11.4 を使っていたときは、init
コンソールで何が問題なのかを正確に確認できました。しかし、今は、 を使用している openSUSE 12.1 を実行しているサーバーにアプリを移行する必要がありsystemctl
、起動に失敗する理由を突き止めるのは大変です。
起動コマンドは、sudo -u mono-user mod-mono-server2 [params]
PID をファイルに書き込む典型的なものです/var/run/spambusters/
(停止したいときに強制終了するため)。 を実行しようとすると、/etc/init.d/spambusters start
一般的な が表示されますJob failed. See system logs and 'systemctl status' for details.
。
しかし、それ以上の情報は得られません……。
spambusters@dom:~/source> sudo systemctl status spambusters.service
spambusters.service - LSB: Spambusters instance (as spambusters)
Loaded: loaded (/etc/init.d/spambusters)
Active: failed since Fri, 07 Sep 2012 20:37:56 +0200; 1min 37s ago
Process: 29731 ExecStart=/etc/init.d/spambusters start (code=exited, status=1/FAILURE)
CGroup: name=systemd:/system/spambusters.service
â”” 29744 sudo -u spambusters /usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applicat...
spambusters@dom:~/so
システムログ/var/log/messages
には以下が含まれます
Sep 7 20:37:56 dom sudo: root : TTY=console ; PWD=/ ; USER=spambusters ; COMMAND=/usr/bin/mod-mono-server2 --nonstop --port 8089 --address 127.0.0.1 --applications /:/home/spambusters/srv/www/domains/www.burnthespam.info/htdocs
この質問はサーバー管理に関するものであるため、serverfault.comにも適している可能性があると理解していますが、私の率直な質問は
ルート プロセスが init ではなく systemctl である場合、init スクリプトの失敗に関する詳細情報をどのように見つければよいでしょうか?
答え1
OSがsystemd-journaldを使用している場合、
journalctl -a _SYSTEMD_UNIT=spambusters.service
(最新の systemd バージョンでは で同じものが表示されますsystemctl status
が、OpenSuSE には古いバージョンがあります。)
また、使ってはいけませんsudo
別のユーザーとしてのみ実行したい場合。使用User=spambusters
その代わり。