Implementar una aplicación de meteorito en Ubuntu

Este artículo lo guiará a través de la implementación de su aplicación Meteor en un Vultr VPS con Ubuntu 14.04. También puede funcionar en otras distribuciones de Linux (intente bajo su propio riesgo).

Un ingenioso compañero llamado Arunoda Susiripala, que es bastante activo en la comunidad Meteor, ha desarrollado una herramienta de implementación llamada mupx (abreviatura de "Meteor Up X"), que hace que sea extremadamente fácil implementar su aplicación Meteor en un servidor remoto a través de ssh. Mupx es el sucesor del mup. Le guiaremos a través del proceso de principio a fin. Mup hace la mayor parte del trabajo pesado, afortunadamente, ¡así que será muy fácil!

Nuestro primer paso es instalar mupx. ¡Lo hará en su estación de trabajo de desarrollo, no en su servidor VPS! Asegúrese de tener Node.js ya instalado y ejecute:

$ npm install -g mupx

Una vez completada la instalación, vaya a la carpeta del proyecto Meteor, por ejemplo /projects/myApp, y ejecute los siguientes comandos:

$ mkdir .deploy
$ cd $_
$ mupx init

Para aquellos que no están familiarizados con la $_sintaxis, es un acceso directo para el último argumento utilizado en un comando. Entonces, en este caso, se cd $_ejecuta como cd .deploy.

Verá el siguiente resultado:

Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
Configuration file : mup.json
Settings file      : settings.json

Empty Project Initialized!

El proceso de inicialización crea dos archivos mup.jsony settings.json. Dejaremos el último archivo solo en este momento. Adelante, ábrete mup.json. Al momento de escribir este artículo, el valor predeterminado se mup.jsonve así:

{
  // Server authentication info
  "servers": [
    {
      "host": "hostname",
      "username": "root",
      "password": "password",
      // or pem file (ssh based authentication)
      // WARNING: Keys protected by a passphrase are not supported
      //"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,

  // 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": "/path/to/the/app",

  // Configure environment
  // ROOT_URL must be set to your correct domain (https or http)
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://myapp.com"
  },

  // 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,

  // show a progress bar while uploading. 
  // Make it false when you deploy using a CI box.
  "enableUploadProgressBar": true
}

Necesitamos cambiar algunas cosas para que el proceso de configuración funcione.

Primero, asegúrese de configurar hostsu dirección IP de VPS, por ejemplo:

"host": "123.123.123.123",

Si necesita usar un número de puerto que no sea el 22 predeterminado, puede hacerlo usando el sshOptionscampo, por ejemplo:

"host": "123.123.123.123",
"sshOptions": { "port": 9876 },

Establezca el usernamevalor para cualquier usuario que desee que sea propietario de la instalación de su aplicación Meteor. Recomiendo eliminar la línea de contraseña y usar una clave SSH en su lugar, por razones de seguridad. Elimine el comentario de la línea con el pemvalor y asegúrese de que apunte a su clave secreta SSH que corresponda con la clave pública SSH que ha instalado en su VPS (in /root/.ssh/authorized_keys). ¡Asegúrese de agregar una coma después de la línea de contraseña! Si su clave SSH tiene una frase de contraseña adjunta, elimine la pemlínea por completo y asegúrese de que su clave privada SSH esté almacenada en caché en un agente ssh (por ejemplo, en Mac ssh-add <path to ssh private key>).

Dejar setupMongoestablecido en su valor predeterminado.

Cambie appNameal nombre de su aplicación Meteor. En nuestro caso:

"appName": "myApp",

... y establezca también la ubicación de la aplicación, en relación con esta carpeta de implementación:

"app": "..",

Por último, configure la ROOT_URLURL designada para su aplicación. Establezca explícitamente un número de puerto en el puerto HTTP estándar.

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80
},

¡Eso es! Guarde el mup.jsonarchivo, luego ejecute:

$ mupx setup

En este punto, mupx ssh en su VPS, instalará Docker, configurará el entorno y extraerá las imágenes Docker apropiadas. Ahora implemente su aplicación:

$ mupx deploy

Ahora, si va a http://123.123.123.123, su aplicación se mostrará cuando se cargue la página.

Soporte multinúcleo

Si su VPS tiene múltiples núcleos, su aplicación Meteor puede aprovechar eso. Solo tendremos que hacer un par de ajustes rápidos.

Primero, deberá instalar el paquete del clúster. Vaya a la carpeta de su aplicación Meteor (en este ejemplo /projects/myApp) y escriba:

$ meteor add meteorhacks:cluster

Ahora edite su mup.jsonarchivo y modifique la sección de variable de entorno de esta manera:

// Configure environment
"env": {
  "ROOT_URL": "http://myapp.com",
  "PORT": 80,
  "CLUSTER_WORKERS_COUNT": "auto"
},

Como hemos agregado un nuevo paquete a su aplicación, tendrá que volver a implementar.

$ mupx setup && mupx deploy

Si alguna vez desea cambiar las variables de entorno mup.jsonsin tener que implementar toda la aplicación, simplemente use el comando de reconfiguración. Esto es útil cuando no se realizaron cambios en la aplicación.

$ mupx reconfig

¡Felicitaciones, su aplicación Meteor ya está en funcionamiento! Además, su aplicación se iniciará automáticamente cada vez que se reinicie su VPS. Esté atento a futuros artículos sobre la implementación y gestión de Meteor.

Dejar un comentario

ZPanel y Sentora en CentOS 6 x64

ZPanel y Sentora en CentOS 6 x64

ZPanel, un panel de control de alojamiento web popular, se bifurcó en 2014 a un nuevo proyecto llamado Sentora. Aprende a instalar Sentora en tu servidor con este tutorial.

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Cómo instalar Vtiger CRM Open Source Edition en CentOS 7

Aprende cómo instalar Vtiger CRM, una aplicación de gestión de relaciones con el cliente, en CentOS 7 para aumentar tus ventas y mejorar el servicio al cliente.

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Cómo instalar el servidor Counter-Strike 1.6 en Linux

Esta guía completa le mostrará cómo configurar un servidor Counter-Strike 1.6 en Linux, optimizando el rendimiento y la seguridad para el mejor juego. Aprende los pasos más recientes aquí.

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.