web-dev-qa-db-ja.com

アップスタート:ジョブを開始できませんでした

[〜#〜]編集[〜#〜]

status marybaked

marybaked停止/待機中

/var/log/syslogの出力は次のとおりです。

5月3日16:24:39marybakedpdxカーネル:[3464.189563] init:marybakedpdxメインプロセスの生成に失敗しました:setuidユーザーが見つかりません

5月3日16:24:44marybakedpdxカーネル:[3469.342062] init:marybakedメインプロセスの生成に失敗しました:setuidユーザーが見つかりません


start marybakedを実行すると、次のようになります。

開始:ジョブを開始できませんでした

start <anything else>を実行すると、次のようになります。

開始:不明なジョブ:

/var/logs/upstartディレクトリにmarybaked.logログがありません...ここで何が起こっているのですか? upstartは、marybakedがジョブであり、開始に失敗したが、エラーログを作成しないことをどのように認識できますか?

これが私の/etc/init/marybaked.confファイルです:

# upstart service file at /etc/init/marybakedpdx.conf
    description "Meteor.js (NodeJS) application"
    author "Daniel Speichert <[email protected]>"

    # When to start the service
    start on started mongodb and runlevel [2345]

    # When to stop the service
    stop on shutdown

    # Automatically restart process if crashed
    respawn
    respawn limit 10 5

    # we don't use buil-in log because we use a script below
    # console log

    # drop root proviliges and switch to mymetorapp user
    setuid marybakedpdx
    setgid marybakedpdx

    script
        export PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
        export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
        # set to home directory of the user Meteor will be running as
        export PWD=/home/marybakedpdx
        export HOME=/home/marybakedpdx
        # leave as 127.0.0.1 for security
        export BIND_IP=127.0.0.1
        # the port nginx is proxying requests to
        export PORT=8080
        # this allows Meteor to figure out correct IP address of visitors
        export HTTP_FORWARDED_COUNT=1
        # MongoDB connection string using marybakedpdx as database name
        export MONGO_URL=mongodb://localhost:27017/marybakedpdx
        # The domain name as configured previously as server_name in nginx
        export ROOT_URL=http://marybakedpdx.com
        # optional JSON config - the contents of file specified by passing "--settings" parameter to meteor command in development mode
        export METEOR_SETTINGS='{ "somesetting": "someval", "public": { "othersetting": "anothervalue" } }'
        # this is optional: http://docs.meteor.com/#email
        # commented out will default to no email being sent
        # you must register with MailGun to have a username and password there
        # export MAIL_URL=smtp://[email protected]:[email protected]
        # alternatively install "apt-get install default-mta" and uncomment:
        # export MAIL_URL=smtp://localhost
        exec node /home/marybakedpdx/bundle/main.js >> /home/marybakedpdx/marybakedpdx.log
    end script
11
redress

Upstartファイルは問題ないように見えます。最も可能性が高いのは、scriptブロック内の何かが失敗していることです。 syslogで詳しく説明する必要があります。

/var/log/syslogを調べてみてください

さらにデバッグするには、さまざまなポイントでtouchファイルを試して、問題をさらに絞り込む必要があります。例えば:

touch /tmp/marybake0
exec node /home/marybakedpdx/bundle/main.js >> /home/marybakedpdx/marybakedpdx.log

ファイルが存在しない場合、touchはファイルを作成します。

編集:

更新された投稿から判断すると、ユーザーmarybakedpdxは存在しません。次のコマンドを実行してみてください。

adduser marybakedpdx
addgroup marybakedpdx
14
Martin Konecny