Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu Upstart:作业启动失败_Ubuntu_Meteor_Nginx_Upstart - Fatal编程技术网

Ubuntu Upstart:作业启动失败

Ubuntu Upstart:作业启动失败,ubuntu,meteor,nginx,upstart,Ubuntu,Meteor,Nginx,Upstart,编辑 状态marybaked收益率 marybaked停止/等待 下面是/var/log/syslog的输出: May 3 16:24:39 marybakedpdx内核:[3464.189563]初始化:未能生成marybakedpdx主进程:找不到setuid用户 May 3 16:24:44 marybakedpdx内核:[3469.342062]初始化:未能生成marybaked主进程:找不到setuid用户 当我运行start marybaked时,我得到: 启动:作业无法启动 当我

编辑

状态marybaked
收益率

marybaked停止/等待

下面是
/var/log/syslog
的输出:

May 3 16:24:39 marybakedpdx内核:[3464.189563]初始化:未能生成marybakedpdx主进程:找不到setuid用户

May 3 16:24:44 marybakedpdx内核:[3469.342062]初始化:未能生成marybaked主进程:找不到setuid用户


当我运行
start marybaked
时,我得到:

启动:作业无法启动

当我运行
start
时,我得到:

开始:未知作业:

我的
/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 <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服务文件位于/etc/init/marybakedpddx.conf
说明“Meteor.js(NodeJS)应用程序”
作者“Daniel Speichert”
#何时开始服务
在已启动的mongodb和运行级别上启动[2345]
#何时停止服务
停机停机
#如果崩溃,自动重新启动进程
重生
重生限额10 5
#我们不使用内置日志,因为我们使用下面的脚本
#控制台日志
#删除根目录提供并切换到mymetorapp用户
setuid marybakedpdx
setgid marybakedpdx
剧本
导出路径=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
导出节点\路径=/usr/lib/nodejs:/usr/lib/NODE\模块:/usr/share/javascript
#设置为主目录的用户Meteor将作为
导出PWD=/home/marybakedpddx
export HOME=/HOME/marybakedpddx
#将其保留为127.0.0.1以进行安全保护
导出绑定IP=127.0.0.1
#端口nginx正在代理请求到
出口端口=8080
#这使得Meteor能够计算出访问者的正确IP地址
导出HTTP\u转发\u计数=1
#使用marybakedpdx作为数据库名称的MongoDB连接字符串
导出MONGO_URL=mongodb://localhost:27017/marybakedpdx
#以前在nginx中配置为服务器名称的域名
导出根目录URL=http://marybakedpdx.com
#可选JSON配置—在开发模式下通过向meteor命令传递“-settings”参数指定的文件内容
导出METEOR_设置='{“somesetting”:“someval”,“public”:{“othersetting”:“anothervalue”}'
#这是可选的:http://docs.meteor.com/#email
#“已注释”将默认为不发送电子邮件
#您必须在MailGun注册才能在那里输入用户名和密码
#导出邮件地址=smtp://postmaster@mymetorapp.net:password123@smtp.mailgun.org
#或者安装“apt get install default mta”并取消注释:
#导出邮件地址=smtp://localhost
exec node/home/marybakedpddx/bundle/main.js>>/home/marybakedpddx/marybakedpddx.log
结束脚本

您的upstart文件看起来正常,最可能发生的情况是
脚本中的某个块出现故障。应在
系统日志
中详细说明

尝试查看
/var/log/syslog

对于进一步的调试,您还应该尝试在不同的位置触摸文件,以进一步缩小问题的范围。例如:

touch /tmp/marybake0
exec node /home/marybakedpdx/bundle/main.js >> /home/marybakedpdx/marybakedpdx.log
如果文件不存在,触摸将创建该文件

编辑:

从您更新的帖子判断,用户
marybakedpddx
不存在。尝试运行以下命令:

adduser marybakedpdx
addgroup marybakedpdx

运行
ls-l/home/marybakedpddx/marybakedpddx.log
。文件存在吗?如果是,所有者是谁?当你做sudo-u marybakedpddx touch/home/marybakedpddx/marybakedpddx.log时会发生什么事
。应用程序跳到81%,然后它暂停,我得到
rite失败:断管断开连接
sy您应该为此创建一个单独的问题,并将其作为一个新问题发布。我在syslog中面临此问题:-“[1808381.569995]初始化:未能生成myProject主进程:无法执行:权限被拒绝”