如何在Digital Ocean Droplet上部署我的meteor应用程序

时间:2014-11-11 00:39:41

标签: meteor digital-ocean

我有一个简单的流星1.0应用程序,我想部署在我的Digital Ocean Droplet上。我可以使用ssh访问这个Droplet。

如何部署此应用?我应该安装什么,我应该在Droplet上使用哪些设置?

2 个答案:

答案 0 :(得分:4)

我已经使用arunoda的解决方案部署到我的DO Droplet

https://github.com/arunoda/meteor-up

在安装模块后的文档中,您将获得mup命令

您可以在此处找到有关如何部署的详细文档

https://meteorhacks.com/deploy-a-meteor-app-into-a-server-or-a-vm.html

答案 1 :(得分:0)

我找到的所有解决方案都不适用于Ubuntu 10.04。一个简单的解决方案是简单地编写一个bash脚本来发送远程服务器上的代码并重新加载流星应用程序:

  1. 在开发环境和远程服务器(How tohere
  2. 之间共享公钥
  3. 使用以下说明创建以下脚本文件(myscript.sh)(确保编辑标题中的变量!):
  4. myscript.sh:

    #!/bin/bash
    
    #*************** ONLY EDIT THIS PART    
    SERVER='<SERVER_IP>'
    PORT='22'
    USERNAME="root"
    PROJECT_NAME="<PROJECT_FOLDER_NAME>"
    DESTINATION_PATH="</home/any_user/projects>"
    ORIGIN_PATH="</home/any_user/projects/project_folder_name>"
    COPY_METEOR_PACKAGES=FALSE
    #******************
    
    echo ""
    echo "Deployment on $USERNAME@$SERVER:$PORT:$DESTINATION_PATH"
    echo "Make sure to have a public key on the server! http://www.linuxproblem.org/art_9.html"
    echo ""
    
    #copy the files
    if $COPY_METEOR_PACKAGES==true; then
       echo "Copy packages"
       scp -P $PORT -r $ORIGIN_PATH $USERNAME@$SERVER:$DESTINATION_PATH
    else
       echo "Do not copy packages"
       scp -P $PORT -r $ORIGIN_PATH/client $USERNAME@$SERVER:$DESTINATION_PATH
       scp -P $PORT -r $ORIGIN_PATH/common $USERNAME@$SERVER:$DESTINATION_PATH
       scp -P $PORT -r $ORIGIN_PATH/lib $USERNAME@$SERVER:$DESTINATION_PATH
       scp -P $PORT -r $ORIGIN_PATH/public $USERNAME@$SERVER:$DESTINATION_PATH
       scp -P $PORT -r $ORIGIN_PATH/server $USERNAME@$SERVER:$DESTINATION_PATH
    fi
    
    
    # reload meteor
    ssh $USERNAME@$SERVER bash -c "'
    cd $DESTINATION_PATH/$PROJECT_NAME
    meteor
    exit
    '"
    

    这里有用的信息:

    1. 只需在开发控制台中使用以下命令运行脚本:

      sh myscript.sh

    2. 瞧瞧!当您运行此脚本时,它将使用SSH协议将文件和软件包(无需一直传输)复制到您选择的远程服务器,并在服务器崩溃时重新启动服务器(它不应该&#39;但是我的情况就是如此。