暴发户:作业启动失败
Upstart: Job failed to start
编辑
status marybaked
产量
marybaked stop/waiting
这是 /var/log/syslog
的输出:
May 3 16:24:39 marybakedpdx kernel: [ 3464.189563] init: Failed to spawn marybakedpdx main process: unable to find setuid user
May 3 16:24:44 marybakedpdx kernel: [ 3469.342062] init: Failed to spawn marybaked main process: unable to find setuid user
当我 运行 start marybaked
我得到:
start: Job failed to start
当我 运行 start <anything else>
我得到:
start: Unknown job:
我的 /var/logs/upstart
目录中没有 marybaked.log 日志...这是怎么回事?新贵如何识别 marybaked
是一项工作并且无法启动它,但不为其创建错误日志?
这是我的 /etc/init/marybaked.conf
文件:
# upstart service file at /etc/init/marybakedpdx.conf
description "Meteor.js (NodeJS) application"
author "Daniel Speichert <daniel@speichert.pro>"
# 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://postmaster@mymetorapp.net:password123@smtp.mailgun.org
# 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
你的 upstart 文件看起来没问题,最有可能发生的是你的 script
块中的某些东西失败了。应该在syslog
.
里面有详细说明
尝试查看 /var/log/syslog
为了进一步调试,您还应该尝试 touch
文件的不同点,以进一步缩小问题范围。例如:
touch /tmp/marybake0
exec node /home/marybakedpdx/bundle/main.js >> /home/marybakedpdx/marybakedpdx.log
如果文件不存在,touch 将创建该文件。
编辑:
从您更新的 post 来看,用户 marybakedpdx
不存在。尝试 运行 以下操作:
adduser marybakedpdx
addgroup marybakedpdx
编辑
status marybaked
产量
marybaked stop/waiting
这是 /var/log/syslog
的输出:
May 3 16:24:39 marybakedpdx kernel: [ 3464.189563] init: Failed to spawn marybakedpdx main process: unable to find setuid user
May 3 16:24:44 marybakedpdx kernel: [ 3469.342062] init: Failed to spawn marybaked main process: unable to find setuid user
当我 运行 start marybaked
我得到:
start: Job failed to start
当我 运行 start <anything else>
我得到:
start: Unknown job:
我的 /var/logs/upstart
目录中没有 marybaked.log 日志...这是怎么回事?新贵如何识别 marybaked
是一项工作并且无法启动它,但不为其创建错误日志?
这是我的 /etc/init/marybaked.conf
文件:
# upstart service file at /etc/init/marybakedpdx.conf
description "Meteor.js (NodeJS) application"
author "Daniel Speichert <daniel@speichert.pro>"
# 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://postmaster@mymetorapp.net:password123@smtp.mailgun.org
# 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
你的 upstart 文件看起来没问题,最有可能发生的是你的 script
块中的某些东西失败了。应该在syslog
.
尝试查看 /var/log/syslog
为了进一步调试,您还应该尝试 touch
文件的不同点,以进一步缩小问题范围。例如:
touch /tmp/marybake0
exec node /home/marybakedpdx/bundle/main.js >> /home/marybakedpdx/marybakedpdx.log
如果文件不存在,touch 将创建该文件。
编辑:
从您更新的 post 来看,用户 marybakedpdx
不存在。尝试 运行 以下操作:
adduser marybakedpdx
addgroup marybakedpdx