Bereitstellen einer Anwendung für Laravel 7 unter Ubuntu und Nginx

Bereitstellen einer Anwendung für Laravel 7 unter Ubuntu und Nginx

Ich habe beschlossen, mein Portfolio mit Laravel 7 zu erstellen. Damit die Hauptseite eine Zielseite wird und alle darauf enthaltenen Informationen über das Admin-Panel geändert werden können. Nicht der Punkt. Es kam zum Einsatz. Ich habe ein paar gute Tutorials gefunden, wie man das auf einem vollwertigen Server mit allen Problemen macht. Ich bin nicht sehr stark im Einsatz; ich bin im Allgemeinen eher vorne als im Full-Stack. Und wenn ich noch in PHP schreiben und testen kann, dann vor der Verwaltung des Servers usw. Ich bin noch nicht erwachsen. Aber ich musste es herausfinden.

Jetzt gehen wir alle Schritte durch, beginnend mit dem Start über SSH und endend mit der Arbeitsseite. Wir werden versuchen, alle Fallstricke zu vermeiden.

Möglicherweise finden Sie ähnliche Anweisungen online. Schließlich habe ich es endlich gefunden. Stimmt, nicht an einem Ort, nicht ohne die Hilfe von StackOverflow und kaum auf Russisch. Ich litt. Deshalb habe ich beschlossen, Ihr Leben zu vereinfachen.

Wir werden alles mit einem Droplet auf DigitalOcean erledigen. Dies ist natürlich nicht notwendig; wählen Sie ein beliebiges Hosting. Wenn Sie einen funktionierenden Server unter Ubuntu erreichen, kehren Sie zurück. Für diejenigen, die sich dennoch dafür entscheiden, dies auf DigitalOcean zu tun, gibt es weitere Tipps zum Einrichten einer Domain. Und auch Empfehlungslink im Wert von 100 $.

Alle DigitalOcean-spezifischen Schritte werden in Fußnoten wie diesen aufgeführt.

Fangen wir an.

TL;DR (nur grundlegende Befehle)

Erstellen Sie einen Benutzer

  • ssh root@[IP-адрес вашего дроплета]
  • adduser laravel
  • usermod -aG sudo laravel
  • su laravel

Fügen Sie SSH hinzu

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • Geben Sie den öffentlichen Schlüssel ein
  • chmod 600 ~/.ssh/authorized_keys

Firewall

  • sudo ufw allow OpenSSH
  • sudo ufw enable
  • sudo ufw status

Nginx

  • sudo apt update
  • sudo apt install -y nginx
  • sudo ufw allow 'Nginx HTTP'
  • sudo ufw status

MySQL

  • sudo apt install -y mysql-server
  • sudo mysql_secure_installation, NYNNY
  • sudo mysql
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';
  • SELECT user,authentication_string,plugin,host FROM mysql.user;
  • FLUSH PRIVILEGES;
  • exit

PHP

  • sudo apt update

  • sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

  • sudo apt-add-repository ppa:ondrej/php

  • sudo apt update

  • 7.3: sudo apt install -y php7.3-fpm php7.3-mysql

  • 7.4: sudo apt install -y php7.4-fpm php7.4-mysql

  • sudo vim /etc/nginx/sites-available/<Ваш домен>

Grundeinstellung:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name <Ваш домен или IP>;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ .php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /.ht {
                deny all;
        }
}

Nur HTTP-Setup für Laravel:

server {
    listen 80;
    listen [::]:80;

    root /var/www/html/<Имя проекта>/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name <Ваш домен или IP>;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

HTTPS-Einstellung für Laravel:

server {
    listen 80;
    listen [::]:80;

    server_name <Ваш домен> www.<Ваш домен>;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <Ваш домен> www.<Ваш домен>;
    root /var/www/html/<Имя проекта>/public;

    ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

  • sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • sudo unlink /etc/nginx/sites-enabled/default
  • sudo nginx -t
  • sudo systemctl reload nginx

Laravel

  • 7.3: sudo apt install -y php7.3-mbstring php7.3-xml composer unzip

  • 7.4: sudo apt install -y php7.4-mbstring php7.4-xml composer unzip

  • mysql -u root -p

  • CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • sudo mkdir -p <Имя проекта>

  • sudo chown laravel:laravel <Имя проекта>

  • cd ./<Имя проекта>

  • git clone <ссылка на проект> . / git clone -b <имя ветки> --single-branch <ссылка на проект> .

  • composer install

  • vim .env

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>

  • php artisan migrate

  • php artisan key:generate

  • sudo chown -R $USER:www-data storage

  • sudo chown -R $USER:www-data bootstrap/cache

  • chmod -R 775 storage

  • chmod -R 775 bootstrap/cache

HTTPS

  • sudo add-apt-repository ppa:certbot/certbot

  • sudo apt install -y python-certbot-nginx

  • sudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>

  • sudo nginx -t

  • sudo ufw allow 'Nginx HTTPS'

  • sudo ufw status

  • sudo systemctl reload nginx

Erstellen Sie ein Droplet auf DigitalOcean und registrieren Sie einen neuen SSH-Schlüssel

Ich bin fest davon überzeugt, dass Sie selbst herausfinden werden, wie Sie sich bei DigitalOcean registrieren können. Es ist nicht einfach, mit vielen Überprüfungen und anderen Dingen. Wenn bei der Überprüfung mithilfe von Dokumenten ständig ein Netzwerkfehler auftritt, versuchen Sie, alles über ein VPN zu erledigen. Das sollte helfen.

Klicken Sie im Menü oben auf Erstellen->Tröpfchen. Wählen Ubuntu.

Sobald Sie sich registrieren, erhalten Sie 100 $ auf Ihr Konto. Aber lassen Sie sich nicht täuschen. Sie haben nur 60 Tage Zeit, es zu verbringen. Und das ist sehr wenig. Möglicherweise möchten Sie, wie ich, einen teureren Tarif nutzen, um später, wenn das echte Geld zu fließen beginnt, auf einen günstigeren Tarif umsteigen zu können. Ich sage Ihnen gleich, dass es nicht funktionieren wird. Sie können es erhöhen, aber nicht verringern. So geht es. ich wähle Normen->$5.

Ich wähle die Region, die uns am nächsten liegt XNUMX Frankfurt. VPC-Netzwerk->Standard-fra1

Wir führen umgehend eine Authentifizierung per SSH durch. Klicken Neuer SSH-Schlüssel. Wenn Sie kein SSH haben, finden Sie rechts eine sehr einfache Anleitung. Öffnen Sie ein Bash-Terminal und fügen Sie es ein ssh-keygen. Dann gehen wir zur Datei mit dem öffentlichen Schlüssel /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (oder einfach cat ~/.ssh/id_rsa.pub), kopieren Sie den Inhalt und fügen Sie ihn in das Fenster links ein. Jeder Name.

Wir überlegen uns einen Hostnamen für das Droplet.

Klicken Droplet erstellen

Erstellen Sie einen neuen Benutzer

  • ssh root@[IP-адрес вашего дроплета]
  • Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten (Ja/Nein/[Fingerabdruck])? yes
  • Geben Sie Ihr SSH-Passwort ein
  • Erstellen Sie einen Benutzer Laravel: adduser laravel
  • Geben Sie Ihr Passwort und andere Informationen ein (ich gebe nur den vollständigen Namen ein)
  • Fügen Sie den Benutzer zur Sudo-Gruppe hinzu: usermod -aG sudo laravel

SSH für neuen Benutzer

  • Wechseln Sie zum neuen Benutzer: su laravel

Wir führen alle weiteren Aktionen bis zum Ende des Artikels im Namen des Laravel-Benutzers durch. Wenn Sie also plötzlich unterbrochen werden, melden Sie sich erneut an und treten Sie ein su laravel

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys

Wir haben die Datei in Vim geöffnet. Wenn Sie damit überhaupt nicht vertraut sind, können Sie in Nano arbeiten, das ist Ihr Recht.

Die grundlegendsten Vim-Befehle

Um den Vim-Editor im gesamten Artikel verwenden zu können, müssen Sie lediglich Folgendes wissen.

  • Vim verfügt über verschiedene Modi: Normalmodus, in dem Sie Befehle eingeben und Modi auswählen und andere.
  • Um einen beliebigen Modus zu verlassen und zum Normalmodus zurückzukehren, drücken Sie einfach Esc
  • Bewegen Sie sich: Sie können einfach Pfeile verwenden
  • Beenden ohne Speichern <Normal mode>: :q!
  • Beenden und speichern <Normal mode>: :wq
  • Wechseln Sie in den Texteingabemodus <Normal mode>: i (aus dem Englischen. einfügen)
  • Wir geben unseren öffentlichen Schlüssel ein (was wir oben getan haben)
  • Wir schützen vor Veränderungen: chmod 600 ~/.ssh/authorized_keys

Installieren einer Firewall

  • Schauen wir uns alle verfügbaren Einstellungen an: sudo ufw app list
  • OpenSSH zulassen (sonst werden wir gesperrt): sudo ufw allow OpenSSH
  • Starten wir die Firewall: sudo ufw enable, y
  • Wir prüfen: sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Alles ist in Ordnung.

Nginx installieren

Während der Installation werden Sie manchmal gefragt: „Sind Sie sicher?“ Antwort y (Naja, nur wenn Sie sicher sind).

  • sudo apt update
  • sudo apt install nginx

Nginx zu den Firewall-Einstellungen hinzufügen

  • sudo ufw app list
  • sudo ufw allow 'Nginx HTTP'
  • sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Gehen Sie zu Ihrer IP. Wenn alles gut geht, sollten Sie Folgendes sehen.

Bereitstellen einer Anwendung für Laravel 7 unter Ubuntu und Nginx

MySQL installieren

  • sudo apt install mysql-server
  • Starten eines automatischen Schutzskripts sudo mysql_secure_installation

Beantworten Sie die gestellten Fragen. Wenn Sie nicht wissen, was Sie antworten sollen, finden Sie hier einige vorgeschlagene Optionen:

  • Plugin zur Passwortvalidierung - N

  • Anonyme Benutzer entfernen? — Y

  • Root-Anmeldung aus der Ferne verbieten? — N

  • Testdatenbank entfernen und darauf zugreifen? — N

  • Berechtigungstabellen jetzt neu laden? — Y

  • Gehen wir zu MySQL: sudo mysql

  • Schauen wir uns die Zugriffsmethoden an: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Legen Sie ein Passwort für root fest: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • Schauen wir uns noch einmal die Zugriffsmethoden an: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Übernehmen Sie die Änderungen und beenden Sie MySQL: FLUSH PRIVILEGES; и exit

  • Um sich nun bei MySQL anzumelden, müssen Sie Folgendes verwenden mysql -u root -p und geben Sie das Passwort ein

PHP installieren

Verwenden wir ein Repository eines Drittanbieters von Ondrej Surý

  • sudo apt update
  • sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
  • sudo apt-add-repository ppa:ondrej/php
  • sudo apt update

Jetzt lasst uns wählen. Für Laravel 7 können Sie PHP 7.3 oder 7.4 wählen. Der einzige Unterschied besteht in den Nummern 3 und 4.

  • 7.3: sudo apt install -y php7.3-fpm php7.3-mysql
  • 7.4: sudo apt install -y php7.4-fpm php7.4-mysql

PHP FastCGI Process Manager (fpm) funktioniert mit PHP-Anfragen. MySQL natürlich für die Arbeit mit MySQL.

Ab jetzt werde ich alles auf 7.4 machen.

Nginx einrichten

  • sudo vim /etc/nginx/sites-available/<Ваш домен>

Geben Sie anstelle von „<Ihre Domain>“ die Domain ein (z. B. mysite.ru), die Sie in Zukunft verwenden möchten. Wenn Sie noch keine haben, schreiben Sie welche und wiederholen Sie dann einfach die Schritte in diesem Kapitel für Ihre Domain, wenn Sie sie auswählen.

Gebe folgendes ein:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name <Ваш домен или IP>;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ .php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /.ht {
                deny all;
        }
}

Wenn Sie stattdessen Version 7.3 gewählt haben php7.4-fpm.sock schreiben php7.4-fpm.sock.

Hören Sie auf Port 80 server_namewenn wir bei der Root-Anfrage ankommen /var/www/html Nehmen Sie die Indexdatei. Wenn danach server_name Da ist etwas, wir suchen eine solche Datei. Wenn wir es nicht finden, werfen wir 404 weg. Wenn es mit endet .php, durchlaufen fpm. Wenn es gibt .ht, verbieten (403).

  • Einen Link erstellen von sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • Entfernen des Links zu default: sudo unlink /etc/nginx/sites-enabled/default
  • Auf Fehler prüfen: sudo nginx -t
  • Neustart: sudo systemctl reload nginx

Überprüfung der Arbeit:

  • sudo vim /var/www/html/info.php
  • Wir schreiben: <?php phpinfo();
  • Zum <Ваш IP>/info.php

Sie sollten etwa Folgendes sehen:

Bereitstellen einer Anwendung für Laravel 7 unter Ubuntu und Nginx

Jetzt kann diese Datei gelöscht werden: sudo rm /var/www/html/info.php

Installieren Sie Laravel

  • 7.3: sudo apt install php7.3-mbstring php7.3-xml composer unzip

  • 7.4: sudo apt install php7.4-mbstring php7.4-xml composer unzip

  • Gehen wir zu MySQL: mysql -u root -p

  • Erstellen Sie eine Datenbank mit dem Namen Laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • Wir bieten Root-Zugriff auf Laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • Erstellen Sie einen Ordner für das Projekt: sudo mkdir -p <Имя проекта>

  • Wir stellen dem Benutzer zur Verfügung Laravel Rechte am Projekt: sudo chown laravel:laravel <Имя проекта>

Als nächstes müssen Sie das Projekt übertragen. Zum Beispiel Klonen von Github.

  • cd ./<Имя проекта>
  • git clone <ссылка на проект> .

Es ist zu bedenken, dass, wenn Sie keine statischen Dateien gespeichert haben (z. B. von /public) auf Github, dann haben Sie sie natürlich nicht. Ich habe zum Beispiel einen separaten Thread erstellt, um dieses Problem zu lösen deploy, von dem ich bereits geklont habe: git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Abhängigkeiten installieren: composer install
  • Erstellen Sie .env: vim .env

Die Grundversion davon sieht so aus:

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>

Wenn Sie Ihre .env kopieren, ersetzen Sie APP_ENV durch Produktion, APP_DEBUG durch false und geben Sie die richtigen Einstellungen für MySQL ein.

  • Migration der Datenbank: php artisan migrate
  • Generieren des Codes: php artisan key:generate

Berechtigungen ändern:

  • sudo chown -R $USER:www-data storage
  • sudo chown -R $USER:www-data bootstrap/cache
  • chmod -R 775 storage
  • chmod -R 775 bootstrap/cache

Als letztes müssen wir Nginx für Laravel neu konfigurieren:

sudo vim /etc/nginx/sites-available/<Ваш домен>

server {
    listen 80;
    listen [::]:80;

    root /var/www/html/<Имя проекта>/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name <Ваш домен или IP>;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

Wie beim letzten Mal, wenn Sie stattdessen Version 7.3 gewählt haben php7.4-fpm.sock schreiben php7.4-fpm.sock.

Einrichten einer Domain auf DigitalOcean

Eigentlich ist alles ganz einfach. Sie kaufen eine Domain (irgendwo) und wechseln zu DigitalOcean unter Erstellen->Domänen/DNS. оле Fügen Sie eine Domäne hinzu Sie geben diese Domain ein und klicken auf Hinzufügen. Gehen Sie dann zu den Domäneneinstellungen und zum Feld HOSTNAME eingeben @. Wählen Sie ein Projekt aus und klicken Sie Datensatz erstellen.
Gehen Sie nun auf die Seite, auf der Sie die Domain gekauft haben, suchen Sie dort nach „DNS-Servern“ (oder etwas Ähnlichem) und geben Sie die DigitalOcean-Server ein (nämlich ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). Jetzt müssen Sie etwas (oder länger) warten, bis diese Einstellungen übernommen werden. Bereit!
Das einzige Problem besteht darin, dass Ihre Website nur als HTTP geöffnet wird. Um HTTPS zu verwenden, fahren Sie mit dem nächsten Teil fort.

HTTPS einrichten

Installieren Sie certbot und übergeben Sie ihm den Domänennamen (Format mysite.ru) und Domainname mit www (www.mysite.ru).

  • sudo add-apt-repository ppa:certbot/certbot
  • sudo apt install python-certbot-nginx
  • sudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>

Jetzt müssen Sie Nginx neu konfigurieren (vergessen Sie nicht, Ihre Werte zu ersetzen):

server {
    listen 80;
    listen [::]:80;

    server_name <Ваш домен> www.<Ваш домен>;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <Ваш домен> www.<Ваш домен>;
    root /var/www/html/<Имя проекта>/public;

    ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

Ich denke, Sie verstehen bereits, was für PHP 7.3 geändert werden muss.

Hier ist eigentlich alles einfach. Wir leiten einfach alle Anfragen von HTTP (Port 80) zu HTTPS (Port 443) um. Und dort machen wir alles wie zuvor, aber mit Verschlüsselung.

Jetzt müssen nur noch die Berechtigungen in der Firewall eingestellt werden:

  • sudo nginx -t
  • sudo ufw app list
  • sudo ufw allow 'Nginx HTTPS'
  • sudo ufw status
  • sudo systemctl reload nginx

Jetzt sollte alles so funktionieren, wie es soll.

[Erweitert] Node.js installieren

Wenn Sie plötzlich npm-Befehle direkt auf dem Server ausführen müssen, müssen Sie Node.js installieren.

  • sudo apt update
  • sudo apt install -y nodejs npm
  • nodejs -v

Das war's, ich habe an diesem Punkt aufgehört. Grundsätzlich bin ich mit dem Ergebnis zufrieden. Vielleicht wechsle ich von DigitalOcean irgendwo näher an Russland und billiger. Da ich aber bereits alle Verifizierungsrunden auf der Seite durchlaufen hatte und alles dort gemacht habe, habe ich es ihnen anhand eines Beispiels gezeigt. Darüber hinaus ist der Startpreis von 100 US-Dollar ein hervorragendes Sprungbrett für das Training.

PS Besonderer Dank geht an den Autor das Wesentliche, die als Grundlage für alle oben genannten Aktionen diente. In einigen Fällen funktioniert es nicht für Laravel 7, ich habe es behoben.

PPS Wenn Sie ein Top-Ingenieur sind, der in Bash-Befehlen denkt, urteilen Sie bitte nicht zu hart. Vielleicht finden Sie, dass dieser Artikel von niedrigem Niveau ist, aber ich hätte gerne einen gefunden, als ich ihn brauchte. Wenn es Verbesserungsvorschläge gibt, bin ich dafür.

Source: habr.com

Kommentar hinzufügen