suchen
HeimWeb-Frontendjs-TutorialAutomatisierte Bereitstellungen des Meteor.js-Bundles mithilfe von Terraform

Automated Deployments of Meteor.js bundle using Terraform

Automatisieren der Bereitstellung auf EC2-Instanzen mit Terraform und Docker

Hey Kumpel! Technik kann knifflig sein, aber Sie haben es geschafft. Betrachten Sie dies als ein technisches Gespräch bei einem Kaffee … oder meinem persönlichen Favoriten, Chaay (Tee).

Sehen wir uns an, wie Sie die Bereitstellung Ihres Meteor.js-Projekts auf AWS automatisieren können. Am Ende werden Sie sich wie ein Cloud-Bereitstellungs-Ninja fühlen. Bereit? Auf geht's!

Was Sie brauchen

Bevor wir die Ärmel hochkrempeln, sammeln wir unsere Sachen. Hier ist die Checkliste:

  1. AWS-Anmeldeinformationen: Stellen Sie sicher, dass Sie die AWS CLI konfiguriert und einsatzbereit haben.

  2. Terraform: Laden Sie Terraform herunter und installieren Sie es, falls Sie es noch nicht getan haben.

  3. SSH-Schlüsselpaar: Generieren Sie ein SSH-Schlüsselpaar. Halten Sie den privaten Schlüssel bereit, um später eine Verbindung zu Ihrer Instanz herzustellen.

  4. Domainname: Haben Sie eine Domain? Großartig! Stellen Sie sicher, dass Sie die A-Datensätze aktualisieren können.

  5. Meteor-Bundle: Bereiten Sie Ihr Meteor.js-Projektpaket mit diesem Befehl vor:

   meteor build --server-only --directory ~/path/to/Dockerfile
  1. Setup-Skripte: Sie benötigen drei Skripte, um den Server einzurichten:
  • server-setup-part1.sh
  • mongodb4-setup.sh
  • server-setup-part2.sh

Alles bekommen? Eindrucksvoll! Beginnen wir mit dem Bauen.

Der Spielplan

Hier ist die Reise, die wir gleich antreten werden:

  1. Verwenden Sie Terraform, um eine EC2-Instanz auf AWS einzurichten.
  2. Führen Sie einige Skripte aus, um den Server zu konfigurieren, MongoDB zu installieren und Ihre Meteor.js-App mit Docker bereitzustellen.
  3. Passen Sie Ihre DNS-Einstellungen an, um Ihre Domain auf die IP des Servers zu verweisen.
  4. Schließen Sie alles mit der SSL-Einrichtung über Certbot ab.

Einfach genug, oder? Lassen Sie es uns Schritt für Schritt aufschlüsseln.


Terraform einrichten

Beginnen Sie mit der Organisation Ihres Terraform-Projekts. Erstellen Sie eine Verzeichnisstruktur wie diese:

project-directory/
├── main.tf
├── variables.tf
├── outputs.tf
├── run.sh

Schritt 1: Variablenkonfiguration

Definieren Sie in „variables.tf“ alle Variablen, die wir benötigen. Diese machen die Einrichtung flexibel:

variable "server_name" {
  description = "Server created by Terraform"
  type        = string
  default     = "AutomatedDeployment"
}

variable "key_pair_name" {
  description = "Key pair name"
  type        = string
  default     = "tf-key-pair"
}

variable "domain_name" {
  description = "Your domain name"
  type        = string
  default     = "xyz.domain.com"
}

Schritt 2: Das Herz – main.tf

Hier passiert die Magie. Diese Datei richtet alles ein: EC2-Instanz, Sicherheitsgruppen und Bereitstellungsschritte.

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
  }
  required_version = ">= 1.2.0"
}

provider "aws" {
  region = "ca-central-1"
}

resource "aws_security_group" "tf-security-group" {
  name        = var.server_name
  description = "Security group for ${var.server_name}"

  ingress {
    from_port   = 22
    to_port     = 22
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
  ingress {
    from_port   = 443
    to_port     = 443
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

resource "aws_instance" "tf-created-instance" {
  ami           = "ami-0083d3f8b2a6c7a81"
  instance_type = "t2.micro"
  key_name      = var.key_pair_name
  tags = {
    Name = var.server_name
  }
}

Schritt 3: Ausgänge

Definieren Sie, was Terraform nach der Ausführung ausgeben soll:

output "public_ip" {
  value       = aws_instance.tf-created-instance.public_ip
  description = "The public IP address of the instance"
}

Schritt 4: Automatisierungsskript

Schreiben Sie in run.sh ein Skript, um Terraform-Befehle zu automatisieren und die DNS-Weitergabe zu verwalten:

#!/bin/bash
set -e
DOMAIN="your.domain.com"

terraform apply -auto-approve

echo "Waiting for DNS propagation..."
OLD_IP=$(dig +short $DOMAIN)
while true; do
  sleep 10
  NEW_IP=$(dig +short $DOMAIN)
  [ "$NEW_IP" != "$OLD_IP" ] && break
  echo "DNS records not updated yet. Retrying..."
done

terraform apply -auto-approve

Docker-Datei für Meteor

Hier ist eine Beispiel-Dockerdatei zum Packen Ihrer Meteor.js-App:

   meteor build --server-only --directory ~/path/to/Dockerfile

Schritte zur Bereitstellung

  1. Terraform initialisieren: Führen Sie diesen Befehl aus, um Terraform einzurichten:
project-directory/
├── main.tf
├── variables.tf
├── outputs.tf
├── run.sh
  1. Bereitstellung mit Automatisierung: Führen Sie das bereitzustellende Skript aus:
variable "server_name" {
  description = "Server created by Terraform"
  type        = string
  default     = "AutomatedDeployment"
}

variable "key_pair_name" {
  description = "Key pair name"
  type        = string
  default     = "tf-key-pair"
}

variable "domain_name" {
  description = "Your domain name"
  type        = string
  default     = "xyz.domain.com"
}
  1. DNS-Update:
    Aktualisieren Sie den A-Eintrag Ihrer Domain so, dass er auf die öffentliche IP der EC2-Instanz verweist.

  2. Überprüfen:
    Sobald die DNS-Weitergabe abgeschlossen ist, überprüfen Sie Ihre Bereitstellung, indem Sie die Domäne in einem Browser aufrufen.


Und da haben Sie es! Eine vollständig automatisierte Meteor.js-App-Bereitstellung auf AWS mit Terraform und Docker. Denken Sie daran, dass jede Herausforderung nur eine weitere Gelegenheit zum Lernen ist. Wenn Sie gegen einen Stein stoßen, trinken Sie einen Schluck Chaay und beheben Sie den Fehler wie der Technikprofi, der Sie sind. Feiern Sie Ihren Bereitstellungserfolg und veröffentlichen Sie ihn überall!?

Das obige ist der detaillierte Inhalt vonAutomatisierte Bereitstellungen des Meteor.js-Bundles mithilfe von Terraform. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Python vs. JavaScript: Welche Sprache sollten Sie lernen?Python vs. JavaScript: Welche Sprache sollten Sie lernen?May 03, 2025 am 12:10 AM

Die Auswahl von Python oder JavaScript sollte auf Karriereentwicklung, Lernkurve und Ökosystem beruhen: 1) Karriereentwicklung: Python ist für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet, während JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung geeignet ist. 2) Lernkurve: Die Python -Syntax ist prägnant und für Anfänger geeignet; Die JavaScript -Syntax ist flexibel. 3) Ökosystem: Python hat reichhaltige wissenschaftliche Computerbibliotheken und JavaScript hat ein leistungsstarkes Front-End-Framework.

JavaScript -Frameworks: Stromversorgung moderner WebentwicklungJavaScript -Frameworks: Stromversorgung moderner WebentwicklungMay 02, 2025 am 12:04 AM

Die Kraft des JavaScript -Frameworks liegt in der Vereinfachung der Entwicklung, der Verbesserung der Benutzererfahrung und der Anwendungsleistung. Betrachten Sie bei der Auswahl eines Frameworks: 1. Projektgröße und Komplexität, 2. Teamerfahrung, 3. Ökosystem und Community -Unterstützung.

Die Beziehung zwischen JavaScript, C und BrowsernDie Beziehung zwischen JavaScript, C und BrowsernMay 01, 2025 am 12:06 AM

Einführung Ich weiß, dass Sie es vielleicht seltsam finden. Was genau muss JavaScript, C und Browser tun? Sie scheinen nicht miteinander verbunden zu sein, aber tatsächlich spielen sie eine sehr wichtige Rolle in der modernen Webentwicklung. Heute werden wir die enge Verbindung zwischen diesen drei diskutieren. In diesem Artikel erfahren Sie, wie JavaScript im Browser ausgeführt wird, die Rolle von C in der Browser -Engine und wie sie zusammenarbeiten, um das Rendern und die Interaktion von Webseiten voranzutreiben. Wir alle kennen die Beziehung zwischen JavaScript und Browser. JavaScript ist die Kernsprache der Front-End-Entwicklung. Es läuft direkt im Browser und macht Webseiten lebhaft und interessant. Haben Sie sich jemals gefragt, warum Javascr

Node.js Streams mit TypeScriptNode.js Streams mit TypeScriptApr 30, 2025 am 08:22 AM

Node.js zeichnet sich bei effizienten E/A aus, vor allem bei Streams. Streams verarbeiten Daten inkrementell und vermeiden Speicherüberladung-ideal für große Dateien, Netzwerkaufgaben und Echtzeitanwendungen. Die Kombination von Streams mit der TypeScript -Sicherheit erzeugt eine POWE

Python vs. JavaScript: Leistung und EffizienzüberlegungenPython vs. JavaScript: Leistung und EffizienzüberlegungenApr 30, 2025 am 12:08 AM

Die Unterschiede in der Leistung und der Effizienz zwischen Python und JavaScript spiegeln sich hauptsächlich in: 1 wider: 1) Als interpretierter Sprache läuft Python langsam, weist jedoch eine hohe Entwicklungseffizienz auf und ist für eine schnelle Prototypentwicklung geeignet. 2) JavaScript ist auf einen einzelnen Thread im Browser beschränkt, aber Multi-Threading- und Asynchronen-E/A können verwendet werden, um die Leistung in Node.js zu verbessern, und beide haben Vorteile in tatsächlichen Projekten.

Die Ursprünge von JavaScript: Erforschung seiner ImplementierungsspracheDie Ursprünge von JavaScript: Erforschung seiner ImplementierungsspracheApr 29, 2025 am 12:51 AM

JavaScript stammt aus dem Jahr 1995 und wurde von Brandon Ike erstellt und realisierte die Sprache in C. 1.C-Sprache bietet Programmierfunktionen auf hoher Leistung und Systemebene für JavaScript. 2. Die Speicherverwaltung und die Leistungsoptimierung von JavaScript basieren auf C -Sprache. 3. Die plattformübergreifende Funktion der C-Sprache hilft JavaScript, auf verschiedenen Betriebssystemen effizient zu laufen.

Hinter den Kulissen: Welche Sprache macht JavaScript?Hinter den Kulissen: Welche Sprache macht JavaScript?Apr 28, 2025 am 12:01 AM

JavaScript wird in Browsern und Node.js -Umgebungen ausgeführt und stützt sich auf die JavaScript -Engine, um Code zu analysieren und auszuführen. 1) abstrakter Syntaxbaum (AST) in der Parsenstufe erzeugen; 2) AST in die Kompilierungsphase in Bytecode oder Maschinencode umwandeln; 3) Führen Sie den kompilierten Code in der Ausführungsstufe aus.

Die Zukunft von Python und JavaScript: Trends und VorhersagenDie Zukunft von Python und JavaScript: Trends und VorhersagenApr 27, 2025 am 12:21 AM

Zu den zukünftigen Trends von Python und JavaScript gehören: 1. Python wird seine Position in den Bereichen wissenschaftlicher Computer und KI konsolidieren. JavaScript wird die Entwicklung der Web-Technologie fördern. Beide werden die Anwendungsszenarien in ihren jeweiligen Bereichen weiter erweitern und mehr Durchbrüche in der Leistung erzielen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)