[RUBY] [Rails] Aufbau einer AWS EC2-Instanzumgebung

Dieses Mal erstellen wir eine Umgebung zum Starten von Anwendungen in einer AWS EC2-Instanz.

Voraussetzungen

Ich habe eine SSH-Verbindung zwischen meinem Computer und der EC2-Instanz und kann mich bei der EC2-Instanz anmelden.

Installieren Sie die Tools für die Konfiguration

Verwenden Sie zunächst den Befehl yum, um das ursprüngliche Programm auf diesem Server zu aktualisieren. Solche Programme werden Pakete genannt.

yum Befehl

Es ist ein Mechanismus der Softwareverwaltung unter Linux. Es spielt die gleiche Rolle wie Homebrew für MacOS. Mit dem Befehl yum können Sie die Versionen von Programmen unter der Kontrolle von yum verwalten und in einem Stapel aktualisieren.

Paket

Eine Sammlung von Programmen mit einer bestimmten Rolle / Funktion unter LinuxOS. Es kann als Software oder Bibliothek bezeichnet werden. Unter Linux wird eine Reihe von Programmen mit einer bestimmten Rolle / Funktion als Paket bezeichnet.

Paketaktualisierung

Wir werden es in der Produktionsumgebung durchführen.

[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y update

Installieren Sie verschiedene andere Pakete, die für die Erstellung der Umgebung erforderlich sind.

[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install git make gcc-c++ patch libyaml-devel libffi-devel libicu-devel zlib-devel readline-devel libxml2-devel libxslt-devel ImageMagick ImageMagick-devel openssl-devel libcurl libcurl-devel curl

Der Befehl -y ist ein Befehl, mit dem alle Fragen festgelegt werden, die automatisch mit Ja beantwortet werden sollen.

Installieren Sie Node.js.

Installieren Sie als Nächstes Node.js, um JavaScript auf EC2 auszuführen.

[ec2-user@ip-172-31-25-189 ~]$ sudo curl -sL https://rpm.nodesource.com/setup_6.x | sudo bash -
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install nodejs

Node.js Ein JavaScript-Paket, das auf der Serverseite ausgeführt wird. Es wird beim Komprimieren von CSS und Images in der Arbeit für die zukünftige Bereitstellung verwendet.

Installieren Sie rbenv und ruby-build

Ich habe es beim Erstellen der Mac-Umgebung verwendet, werde es aber noch einmal kurz erläutern. rbenv und ruby-build sind Tools, die bei der Verwaltung von Ruby-Versionen in Kombination verwendet werden. Diese müssen vor der Installation von Ruby installiert werden. ruby-build ist ein Plugin für rbenv, mit dem Sie verschiedene Ruby-Versionen (z. B. 2.0.0) mit ruby-build installieren können. Sie können die Ruby-Version mit rbenv wechseln.

#Installieren Sie rbenv
[ec2-user@ip-172-31-25-189 ~]$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv 
#Durchlaufen
[ec2-user@ip-172-31-25-189 ~]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile 
#Beschreibung für den Aufruf von rbenv
[ec2-user@ip-172-31-25-189 ~]$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
#.bash_Profil laden
[ec2-user@ip-172-31-25-189 ~]$ source .bash_profile
#ruby-Build installieren
[ec2-user@ip-172-31-25-189 ~]$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
#Aufwärmen
[ec2-user@ip-172-31-25-189 ~]$ rbenv rehash

Der zweite und dritte Befehl sind die Befehle, die Sie benötigen, um den Pfad zu übergeben. Wenn Sie den Pfad übergeben, können Sie die Anwendung von einem beliebigen Verzeichnis aus aufrufen. Dann wird mit dem vierten Befehl der eingestellte Pfad gelesen. Der letzte Befehl ist derjenige, den Sie benötigen, um die gem-Befehle in Ihrer Ruby-Version verwenden zu können.

Installieren Sie Ruby

Ändern Sie die unten auszuführenden Befehle entsprechend der zu installierenden Ruby-Version und der in Ihrer Anwendung verwendeten Ruby-Version.

#Ruby 2.5.Installieren Sie Version 1
[ec2-user@ip-172-31-25-189 ~]$ rbenv install 2.5.1
#Entscheiden Sie, welche Version von Ruby in der EC2-Instanz verwendet werden soll
[ec2-user@ip-172-31-25-189 ~]$ rbenv global 2.5.1
#Aufwärmen
[ec2-user@ip-172-31-25-189 ~]$ rbenv rehash
[ec2-user@ip-172-31-25-189 ~]$ ruby -v

MySQL-Einstellungen

Dieses Mal werden wir MySQL verwenden, ein typisches Beispiel für RDBMS (Relational Database Management System). Das Bild der Systemkonfiguration ist diesmal wie folgt. スクリーンショット 2020-06-06 22.27.24.png

MySQL RDBMS wurde von Oracle entwickelt und bereitgestellt. Sie können die Datenbank erstellen, bearbeiten, löschen usw. Es wird als Open-Source-Software veröffentlicht und kann von jedem kostenlos verwendet werden.

Installieren Sie MySQL

Wenn Sie Amazon Linux verwenden, kann MySQL über den Befehl yum installiert werden. Dieses Mal werde ich MySQL Version 5.6 installieren.

[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install mysql56-server mysql56-devel mysql56

Starten Sie MySQL

Verwenden Sie den Befehl service, um MySQL zu starten. Dies ist in Amazon Linux und CentOS enthalten und ist ein Tool, mit dem Sie die gesamte installierte Software auf einmal starten können.

[ec2-user@ip-172-31-25-189 ~]$ sudo service mysqld start

Das d in mysqld ist eine Abkürzung für "daemon", was unter Linux "server" bedeutet.

Sie können überprüfen, ob es mit den folgenden Schritten gestartet werden kann.

[ec2-user@ip-172-31-25-189 ~]$ sudo service mysqld status
mysqld (pid  15692) is running...

Festlegen eines MySQL-Root-Passworts

Standardmäßig kann der Benutzer root auf mit yum installiertes MySQL zugreifen, es ist jedoch kein Kennwort festgelegt.

Legen Sie daher das Kennwort mit dem folgenden Befehl fest. Für den Teil von 'Passwort, den Sie setzen möchten', wenn Sie beispielsweise die Zeichenfolge password0000 setzen, schreiben Sie 'Passwort0000'. Vermeiden Sie Passwörter, die mit 0 beginnen, da diese häufig nicht gelesen werden. (Zum Beispiel '0331higuchi')

[ec2-user@ip-172-31-25-189 ~]$ sudo /usr/libexec/mysql56/mysqladmin -u root password 'Bitte ändern Sie dies in das Passwort, das Sie festlegen möchten, und führen Sie dann den Befehl aus.'

So stellen Sie eine Verbindung zu MySQL her

[ec2-user@ip-172-31-25-189 ~]$ mysql -u root -p

Nach Eingabe des obigen Befehls werden Sie aufgefordert, das zuvor festgelegte Kennwort einzugeben, damit Sie eine Verbindung herstellen können, indem Sie es eingeben.

Die Einstellungen des Webservers und des Anwendungsservers zum Veröffentlichen der Anwendung werden im nächsten Artikel beschrieben.

Recommended Posts

[Rails] Aufbau einer AWS EC2-Instanzumgebung
Aufbau der Rails Docker-Umgebung
So veröffentlichen Sie eine Anwendung mithilfe der AWS (3) EC2-Instanzumgebungskonstruktion
Rails Engineer Environment Construction Ruby2.7.1
Schienen Umgebungsbau Schienen5.2.1 ruby2.5.1 Catalina
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
[Rails / MySQL] Aufbau einer Mac-Umgebung
Ruby on Rails 6.0-Umgebungskonstruktionsnotiz
Konstruktionsverfahren für Rails on Docker-Umgebungen
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Problematischer Ablauf der Rails-Umgebung [Windows 10]
Einfache Bereitstellung mit Capistrano + AWS (EC2) + Rails
Rails API-Serverumgebungskonstruktion mit Docker-Compose
[Docker] Entwicklung der Entwicklungsumgebung Rails6 / Ruby2.7 / MySQL8
[Rails] Bildbeitrag von CarrierWave [AWS EC2]
Rails & React & Webpacker & MySQL Environment Konstruktionshandbuch
Muskel Rubin auf Schienen Tag 1 ~ Umweltbau ~
CentOS8.2 (x86_64) + ruby2.5 + Rails5.2 + MariaDB (10.3.17) Umgebungskonstruktion
[Frühling] Umweltbau
So verknüpfen Sie Rails6 Vue (aus dem Umgebungsbau)
Fehler beim Installieren der Ruby-Ausführungsumgebung auf der EC2-Instanz
Erstellen Sie eine Laravel-Umgebung auf einer AWS-Instanz
Aufbau der Penronse-Umgebung [Windows]
So installieren Sie Ruby auf einer EC2-Instanz von AWS
Memo zum Erstellen einer Servlet-Umgebung auf EC2 von AWS
[Flattern] Ubuntu 20.04 Umgebungskonstruktion
Starten Sie EC2 Rails
Erstellen Sie eine Ruby on Rails-Entwicklungsumgebung in AWS Cloud9
Bereitstellen von Laravel mit Docker auf EC2 unter AWS ① (EC2-Instanz erstellen)
Konstruktionshandbuch für eine stabile Entwicklungsumgebung für "Rails6" mit "Docker-compose"
Bereitstellen auf Ruby on Rails Elastische Bohnenstange (Umgebungskonstruktion)
Stellen Sie RAILS auf EC2 bereit
[Umgebungskonstruktion Mac] Ruby on Rails (+ Webpacker behandelt Fehler)
Java Entwicklungsumgebung Konstruktion
[AWS] Verknüpfen Sie die Speichernutzung der Ubuntu EC2-Instanz mit CloudWatch
So erstellen Sie einen Anwendungsserver auf einer EC2-Instanz von AWS
[Verfahren 1 für Anfänger] Ruby on Rails: Aufbau einer Entwicklungsumgebung
[CCNA] Aufbau einer Cisco-Geräteemulatorumgebung (EC2 + Ubuntu + GNS3)
Ich habe versucht, die automatische Bereitstellung mit CircleCI + Capistrano + AWS (EC2) + Rails durchzuführen
[Spring Boot] Umgebungskonstruktion (macOS)
Ich habe versucht, node-jt400 (Umgebungskonstruktion)
Rails6 (MySQL, Ubuntu-Umgebung, Cloud9)
Konstruktionsnotiz für die MySQL 5.7 (Docker) -Umgebung