Como enviar uma aplicação meteoro para o meu servidor?

Como enviar uma aplicação meteoro para o meu servidor?

Sabor 1: o servidor de desenvolvimento e implantação é o mesmo;

Sabor 2: o servidor de desenvolvimento é um (talvez o meu localhost) e o servidor de implantação é outro (talvez um VPS na nuvem);

Sabor 3: quero fazer um domínio de hospedagem de meteoros, tal como "meteor.com". é possível? Como?

actualizar:

Estou a gerir o Ubuntu e não quero "desmetizar" o aplicacao. Obrigado.

Author: J. Bruni, 2013-07-12

7 answers

A documentação do meteorito diz:

"[...] você precisa fornecer o nó.js 0.8 e um servidor MongoDB. Podes. em seguida, execute a aplicação invocando o nó, especificando a porta HTTP para a aplicação ouvir, e o objectivo MongoDB."


Então, entre as várias maneiras de instalar o nó.js , eu comecei a funcionar seguindo
o melhor conselho que encontrei , que é basicamente desempacotar a última versão disponível directamente no nó oficial .Js website , já compilado para Linux (64 bits, no meu caso):

# Does NOT need to be root user:

# create directory
mkdir -p ~/.nodes && cd ~/.nodes

# download latest Node.js distribution
curl -O http://nodejs.org/dist/v0.10.13/node-v0.10.13-linux-x64.tar.gz

# unpack it
tar -xzf node-v0.10.13-linux-x64.tar.gz

# discard it
rm node-v0.10.13-linux-x64.tar.gz

# rename unpacked folder
mv node-v0.10.13-linux-x64 0.10.13

# create symlink
ln -s 0.10.13 current

# add path to PATH
export PATH="~/.nodes/current/bin:$PATH"

# check
node --version
npm --version


E para instalar MongoDB , eu simplesmente segui as instruções do manual MongoDB disponíveis na secção de documentação do seu site oficial:

# Needs to be root user (apply "sudo" if not at root shell)

apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list
apt-get update
apt-get install mongodb-10gen



O servidor está pronto para executar aplicações de meteoros! Para a implantação, a principal "questão" é onde a operação "pacote" acontece. Precisamos para executar o comando meteor bundle de dentro da árvore de ficheiros de código da aplicação. Por exemplo:

cd ~/leaderboard
meteor bundle leaderboard.tar.gz


Se a implantação acontecer em outro servidor ( flavour 2 ), precisamos carregar o pacote tar.GZ ficheiro para ele, usando sftp, ftp, ou qualquer outro método de transferência de ficheiros. Uma vez que o arquivo está lá, nós seguimos a documentação Meteor e O arquivo README que é magicamente incluído na raiz da árvore bundle:

# unpack the bundle
tar -xvzf leaderboard.tar.gz

# discard tar.gz file
rm leaderboard.tar.gz

# rebuild native packages
pushd bundle/programs/server/node_modules
rm -r fibers
npm install [email protected]
popd

# setup environment variables
export MONGO_URL='mongodb://localhost'
export ROOT_URL='http://example.com'
export PORT=3000

# start the server
node main.js


Se o destacamento for na mesma servidor ( sabor 1 ), O pacote de alcatrão.o arquivo gz já está lá, e não precisamos recompilar os pacotes nativos. (Basta saltar a seção correspondente acima.)



Fixe! Com estes passos, eu tenho o exemplo" Leaderboard "implantado para o meu servidor personalizado , Não" meteor.com " ... (apenas para aprender e valorizar seus serviços!)

Ainda tenho de o fazer correr no porto 80 ( planeio usar o NginX para este ), persistir variáveis de ambiente, iniciar nó.O JS desapareceu do terminal, etc... Estou ciente deste cenário num "quase nu"... só a base,o primeiro passo, pedras básicas.

A aplicação foi implantada "manualmente", sem tirar partido de todas as funcionalidades mágicas de comando meteor deploy... Já vi pessoas publicarem o seu "[[68]} meteor.sh " e " meteoric.sh"e eu sigo o mesmo caminho... crie um script para emular o recurso "single command deployment"... conscientes de que, num futuro próximo, tudo isto fará parte dos pioneiros Exploradores do Meteoro, à medida que se transformará numa galáxia inteira! e a maioria destas questões será uma coisa arcaica do passado.

De qualquer forma, estou muito feliz por ver quão rápido o aplicativo implantado corre em o VPS mais barato de sempre, com uma latência surpreendentemente baixa e atualizações simultâneas quase instantâneas em vários navegadores distintos. Fantástico!

Obrigado!!!
 85
Author: J. Bruni, 2017-05-23 11:33:15

Tenta Meteor Up too

Com isso você pode implantar em qualquer servidor Ubuntu. Isto usa o comando meteor build internamente. E usado por muitos para a implantação de aplicativos de produção.

Criei o Meteor para permitir que os programadores implantem aplicações de Meteorologia de qualidade até a galáxia chegar.
 14
Author: Arunoda Susiripala, 2014-11-17 01:19:42
Eu recomendaria o sabor dois com um servidor de implantação separado. A separação de preocupações leva a um ambiente mais estável para o seu código e é mais fácil de depurar.

Para fazer isso, há o excelenteMeteoric script bash que ajuda você a implantar para o EC2 da Amazon ou seu próprio servidor.

Quanto a como rolar o seu próprio meteor.com sugiro que partas isso para a questão do StackOverflow, já que não está relacionado. Além disso, não posso responder.
 8
Author: Jonatan Littke, 2013-07-12 06:27:43
Já acabei há alguns dias. Enviei a minha aplicação de meteoros para o meu servidor no DigitalOcean. Usei a ferramenta Meteor Up para gerir as unidades e Nginx no servidor para servir a aplicação. É muito simples de usar. Deve instalar o meteor com o comando:
npm install -g mup

Depois, crie a pasta para a configuração de implementação e vá para a pasta criada. Então execute o comando meteor init. Ele irá criar dois arquivos de configuração. Temos interesse no ficheiro mup.json. Tem configurações para o processo de implantação. É parecido com isto.

{
  // Server authentication info
  "servers": [
    {
      "host": "hostname",
      "username": "root",
      "password": "password",
      // or pem file (ssh based authentication)
      //"pem": "~/.ssh/id_rsa",
      // Also, for non-standard ssh port use this
      //"sshOptions": { "port" : 49154 },
      // server specific environment variables
      "env": {}
    }
  ],

  // Install MongoDB on the server. Does not destroy the local MongoDB on future setups
  "setupMongo": true,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": true,

  // WARNING: nodeVersion defaults to 0.10.36 if omitted. Do not use v, just the version number.
  "nodeVersion": "0.10.36",

  // Install PhantomJS on the server
  "setupPhantom": true,

  // Show a progress bar during the upload of the bundle to the server.
  // Might cause an error in some rare cases if set to true, for instance in Shippable CI
  "enableUploadProgressBar": true,

  // Application name (no spaces).
  "appName": "meteor",

  // Location of app (local directory). This can reference '~' as the users home directory.
  // i.e., "app": "~/Meteor/my-app",
  // This is the same as the line below.
  "app": "/Users/arunoda/Meteor/my-app",

  // Configure environment
  // ROOT_URL must be set to https://YOURDOMAIN.com when using the spiderable package & force SSL
  // your NGINX proxy or Cloudflare. When using just Meteor on SSL without spiderable this is not necessary
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://myapp.com",
    "MONGO_URL": "mongodb://arunoda:[email protected]:10023/MyApp",
    "MAIL_URL": "smtp://postmaster%40myapp.mailgun.org:[email protected]:587/"
  },

  // Meteor Up checks if the app comes online just after the deployment.
  // Before mup checks that, it will wait for the number of seconds configured below.
  "deployCheckWaitTime": 15
}

Depois de preencher todos os campos de dados, poderá iniciar o processo de configuração com o comando mup setup. Vai configurar o seu servidor.

Depois de uma configuração completa, pode instalar a sua aplicação. Basta escrever mup deploy na consola.

 6
Author: Dmytro Medvid, 2015-09-06 17:52:59

Outra alternativa é apenas desenvolver em seu próprio servidor para começar. Acabei de criar uma caixa digital do oceano e depois liguei a minha conta Cloud9 IDE.

Agora, eu posso me desenvolver bem na máquina em uma IDE de nuvem e a implantação é fácil -- apenas copiando arquivos.

Eu criei um tutorial que mostra exatamente como meu set up funciona.

 4
Author: John Sonmez, 2014-10-13 14:25:49

Aqui estão instruções para correr meteoros em CentOS 7 VPS . Deve aplicar-se a outros ambientes linux.

 2
Author: Kamal, 2015-02-14 04:26:28
Tive muitos problemas com o meteoro, por isso decidi escrever o meu próprio guião de lançamento. Eu também adicionei informações adicionais sobre como configurar nginx ou mongodb. Espero que ajude!

Ver /sh pasta no repositório

O que faz o guião meteor-deploy.sh:

  1. Seleccione o ambiente (./meteor-deploy.sh para encenação, ./meteor-deploy.sh prod para produção)
  2. Versão de produção da aplicação meteor
  3. copy bundle to server
  4. SSH no servidor
  5. Faça uma mongodump para base de dados de salvaguarda
  6. parar a aplicação em execução
  7. desfazer as malas
  8. sobrepor ficheiros de aplicações
  9. reinstalar dependências do pacote do nó de aplicações
  10. iniciar a aplicação (usa para sempre)

Testado para as seguintes configurações do servidor:

  • Ubuntu 14. 04. 4 LTS
  • Meteoro -- version 1.3.2.4
  • node --version v0. 10. 41
  • MPN -- version 3. 10. 3
 2
Author: Samuel, 2016-07-04 10:38:21