Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
Linux 保持meteor在amazon EC2上运行_Linux_Amazon Web Services_Amazon Ec2_Meteor_Startup - Fatal编程技术网

Linux 保持meteor在amazon EC2上运行

Linux 保持meteor在amazon EC2上运行,linux,amazon-web-services,amazon-ec2,meteor,startup,Linux,Amazon Web Services,Amazon Ec2,Meteor,Startup,我有一个简单的meteor应用程序,我正在AmazonEC2服务器上运行。一切都很顺利。我通过项目目录中的meteor与我的用户手动启动它 但是,我想让这个应用程序 开机运行 不受干扰 我尝试通过nohup meteor&运行它,但是当我尝试注销EC2实例时,会收到“youhaverunning jobs”消息。继续注销将停止应用程序 如何让应用程序在启动时启动并保持正常运行(除非它因某种原因崩溃)?我相信这个软件包解决了您的问题: 它似乎永远使用,安装并使用启动脚本 $ npm install

我有一个简单的meteor应用程序,我正在AmazonEC2服务器上运行。一切都很顺利。我通过项目目录中的
meteor
与我的用户手动启动它

但是,我想让这个应用程序

  • 开机运行
  • 不受干扰
  • 我尝试通过nohup meteor&运行它,但是当我尝试注销EC2实例时,会收到“youhaverunning jobs”消息。继续注销将停止应用程序


    如何让应用程序在启动时启动并保持正常运行(除非它因某种原因崩溃)?

    我相信这个软件包解决了您的问题:

    它似乎永远使用

    安装并使用启动脚本

    $ npm install -g forever
    
    我有几个用于管理生产环境的脚本-开始脚本类似于:

    #/bin/bash
    永远停止
    导出邮件\u URL=。。。
    导出MONGO_URL=。。。
    导出MONGO\u OPLOG\u URL=。。。
    出口端口=3000
    导出根目录\u URL=。。。
    永远开始/home/ubuntu/apps/myapp/bundle/main.js
    出口0
    
    它还将方便地附加到
    ~/.forever
    中的日志文件中,该文件将显示运行应用程序时遇到的任何错误。您可以使用以下工具获取日志文件的位置和应用程序的其他统计信息:

    $ forever list
    
    要让你的应用程序在启动时启动,你需要做一些适合你的linux风格的事情。您可以将启动脚本放在
    /etc/rc.local
    中。有关ubuntu,请参阅

    另外请注意,如果在生产中使用应用程序,您确实应该捆绑应用程序。有关差异的更多详细信息,请参阅。

    我在Ubuntu服务器上使用,您应该能够轻松地在Amazon linux上安装该服务器

    这大概是我的
    /etc/init/myapp.conf

    start on (local-filesystems and net-device-up IFACE=eth0)
    stop on shutdown
    
    respawn
    respawn limit 99 5
    
    script
        export HOME="/home/deploy"
        export NODE_ENV="production"
        export MONGO_URL="mongodb://localhost:27017/myappdb"
        export ROOT_URL=http://localhost
        export MAIL_URL=smtp://localhost:25
        export METEOR_SETTINGS='{"somesetting":true}'
    
        cd /var/www/myapp/bundle/
        exec sudo -u deploy PORT=3000 /usr/bin/node main.js >> /var/log/node.log 2>&1
    end script
    
    然后,我可以像这样手动启动和停止
    myapp

    sudo start myapp
    sudo stop myapp
    

    似乎
    mup
    是专门为Ubuntu设计的,但我现在运行的是Amazon Linux谢谢,这很有帮助。我用的是亚马逊Linux,不是Ubuntu。我捆绑了它,但它无法启动,因为它缺少
    光纤。我将cd刻录到
    bundle/server
    并运行
    npm安装--nodedir=/usr/local/bin fibers
    ,但我得到
    gyp:/usr/local/bin/common.gypi未找到
    。有什么想法吗?1)见问题。2) 您正在运行哪个版本的节点?建议您使用中为特定版本指定的节点版本。不过,我怀疑这可能不是问题所在。搜索“node error common.gypi”,您将得到几个答案,包括。