首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过MUP部署Meteor

通过MUP部署Meteor
EN

Stack Overflow用户
提问于 2017-04-23 03:10:23
回答 1查看 405关注 0票数 0

我正在尝试通过MUP部署我的应用程序,除了我运行命令mup deploy之外,一切都运行得很好。在浏览器中,网站加载,但它不显示我所做的最新更改。构建文件包含我所做的所有更改。我正在使用亚马逊EC2作为服务器。

编辑:

在MUP日志中,它显示服务器已在端口80上启动。我还检查了构建文件,它有最新的代码,但不知何故服务器没有在浏览器中呈现。我不确定它的问题是MUP或meteor build或亚马逊EC2服务器。

EN

回答 1

Stack Overflow用户

发布于 2017-05-24 15:19:36

因为我遇到了完全相同的问题,所以我可以澄清这个问题。

我在Windows10上使用Mup build 1.2.8/latest,Meteor v1.4.4.2/latest,在Digital Ocean上部署到Ubuntu 14.04。

执行"mup.cmd deploy“构建捆绑包,将其推送到服务器,启动应用程序并验证部署,所有这些都成功了。"mup.cmd logs“显示的流星日志显示应用程序成功启动(除了应该在新部署的版本中修复的Kadira警告)。浏览我的应用程序不会显示我最近的任何更改(它们在本地运行时会显示出来)。看起来更新后的容器不是正在运行的容器。我尝试过启动、停止和删除Docker容器,但都无济于事。

作为参考,这里是我正在使用的mup.js文件(为了保护有罪的人,文件的名称已更改)。这个文件在6周前可以很好地部署。

代码语言:javascript
复制
module.exports = {
  servers: {
    one: {
      host: '1.2.3.4',
      username: 'Ron',
      pem: '/cygwin64/home/Ron/.ssh/id_rsa',
    }
  },

  meteor: {
    name: 'MyApp',
    path: '../',

    servers: {
      one: {}
    },

    buildOptions: {
      serverOnly: true,
      debug: true,
      cleanAfterBuild: true,
      buildLocation: '../../output'
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      ROOT_URL: 'https://MyApp.com',
      MONGO_URL: 'mongodb://localhost/meteor'
    },

    docker: {
      // change to 'kadirahq/meteord' if your app is not using Meteor 1.4
      image: 'abernix/meteord:base'
    },

    // This is the maximum time in seconds it will wait
    // for your app to start
    // Add 30 seconds if the server has 512mb of ram
    // And 30 more if you have binary npm dependencies.
    deployCheckWaitTime: 60,

    ssl: {
      autogenerate: {
        email: 'email@example.com',
        domains: 'MyApp.com, www.MyApp.com'
      }
    },

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true
  },

  mongo: {
    port: 27017,
    version: '3.4.1',
    servers: {
      one: {}
    }
  }
};

EDIT::mongo我删除了除之外的所有容器和镜像,再次运行"mup setup“和"mup deploy”,结果完全相同,旧版本正在运行。所以问题似乎出在mup的流星构建部分。

EDIT 2::我至少发现了一个问题。我将buildLocation设置为相对路径。在某些情况下,Mup会更改当前目录,这会导致使用buildLocation的多个副本。在我的例子中,Meteor build命令(新文件)的输出在一个文件中,而Mup正从恰好包含旧文件的另一个文件部署到服务器。我将buildLocation更改为绝对路径,并且正在部署新版本。嗯!但是等等,即使Mup说验证起作用了,我的应用程序从来没有运行过,容器一直在重启。查看日志,我怀疑问题出在下面这行代码上。不知何故,路径中有一个反斜杠。我不知道这是从哪里来的。

192.241.229.15npm错误!enoent ENOENT:没有这样的文件或目录,chmod '/bundle/bundle/programs/server/npm/node_modules/sshpk/bin\sshpk-conv‘

解决方案::多亏了Parth Mahida,我被启发删除了服务器上的/opt/MyApp目录,并在我的构建机器上删除并重新安装了sshpk NPM包,然后重做了Mup设置和Mup部署,一切都正常了。不知道sshpk包是如何损坏的,但在这一点上我不在乎。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43563509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档