Einfache Laravel-Bereitstellung unter Ubuntu: Ein Leitfaden für Einsteiger mit LEMP Stack

Mary-Kate Olsen
Freigeben: 2024-09-20 06:55:32
Original
480 Leute haben es durchsucht

Easy Laravel Deployment on Ubuntu: A Beginner

Die Bereitstellung einer Laravel-Anwendung auf Ubuntu mit dem LEMP-Stack (Linux, Nginx, MySQL, PHP) kann entmutigend erscheinen, aber die schrittweise Aufschlüsselung macht es beherrschbar. Dieser Leitfaden führt Sie durch den Prozess von der Servereinrichtung bis zur Bereitstellung einer Laravel-Anwendung.

Voraussetzungen:

  • Sie sollten über einen Ubuntu-Server verfügen (lokal oder in der Cloud, z. B. AWS, DigitalOcean).
  • Grundlegende Vertrautheit mit dem Terminal.
  • Ein Domainname (optional, aber empfohlen).

Teil 1: Einrichten des LEMP-Stacks

Schritt 1: Aktualisieren Sie das System

Stellen Sie zunächst sicher, dass Ihr Server auf dem neuesten Stand ist.

sudo apt update && sudo apt upgrade -y
Nach dem Login kopieren

Schritt 2: Nginx installieren

Nginx wird Ihre Anwendung bedienen.

sudo apt install nginx -y
Nach dem Login kopieren

Nach der Installation können Sie Nginx starten und die Ausführung beim Booten aktivieren:

sudo systemctl start nginx
sudo systemctl enable nginx
Nach dem Login kopieren

Sie können überprüfen, ob Nginx ausgeführt wird, indem Sie die IP-Adresse Ihres Servers in einem Browser aufrufen.

Schritt 3: MySQL installieren

Als nächstes installieren wir den MySQL-Datenbankserver.

sudo apt install mysql-server -y
Nach dem Login kopieren

Sichern Sie die MySQL-Installation:

sudo mysql_secure_installation
Nach dem Login kopieren

Dadurch werden Sie aufgefordert, ein Root-Passwort einzurichten und unsichere Standardeinstellungen zu entfernen.

Schritt 4: PHP installieren

Laravel erfordert PHP, also installieren wir es zusammen mit einigen notwendigen Erweiterungen:

sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y
Nach dem Login kopieren

Überprüfen Sie die PHP-Installation:

php -v
Nach dem Login kopieren

Sie sollten etwa Folgendes sehen:

PHP 7.x.x (cli) (built: ...)
Nach dem Login kopieren

Teil 2: MySQL für Laravel konfigurieren

Schritt 1: Melden Sie sich bei MySQL an

Melden Sie sich als Root-Benutzer bei der MySQL-Konsole an:

sudo mysql
Nach dem Login kopieren

Schritt 2: Erstellen Sie eine Datenbank

Erstellen Sie eine neue Datenbank und einen neuen Benutzer für die Laravel-Anwendung:

CREATE DATABASE laravel_app;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Nach dem Login kopieren

Schritt 3: Testen Sie die Datenbank

Stellen Sie sicher, dass der neue Datenbankbenutzer eine Verbindung herstellen kann:

mysql -u laravel_user -p
Nach dem Login kopieren

Sie werden zur Eingabe des Passworts aufgefordert und geben dann Folgendes ein:

SHOW DATABASES;
Nach dem Login kopieren

Sie sollten laravel_app in der Liste sehen.


Teil 3: Laravel installieren

Schritt 1: Composer installieren

Laravel verwendet Composer als Abhängigkeitsmanager. Composer installieren:

sudo apt install composer -y
Nach dem Login kopieren

Schritt 2: Erstellen Sie ein Laravel-Projekt

Navigieren Sie zu dem Verzeichnis, in dem Sie Laravel installieren möchten (z. B. /var/www/):

cd /var/www/
composer create-project --prefer-dist laravel/laravel laravel_app
Nach dem Login kopieren

Schritt 3: Verzeichnisberechtigungen festlegen

Laravel erfordert, dass einige Verzeichnisse vom Webserver beschreibbar sind:

sudo chown -R www-data:www-data /var/www/laravel_app
sudo chmod -R 775 /var/www/laravel_app/storage
sudo chmod -R 775 /var/www/laravel_app/bootstrap/cache
Nach dem Login kopieren

Schritt 4: Konfigurieren Sie die .env-Datei

Öffnen Sie im Laravel-Projektstamm die .env-Datei und konfigurieren Sie die Datenbankeinstellungen:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=laravel_user
DB_PASSWORD=strong_password
Nach dem Login kopieren

Teil 4: Nginx für Laravel konfigurieren

Schritt 1: Erstellen Sie einen neuen Nginx-Serverblock

Wir erstellen eine Nginx-Konfigurationsdatei für das Laravel-Projekt.

sudo nano /etc/nginx/sites-available/laravel_app
Nach dem Login kopieren

Fügen Sie der Datei die folgende Konfiguration hinzu:

server {
    listen 80;
    server_name your_domain_or_ip;

    root /var/www/laravel_app/public;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # Change this to the correct PHP version.
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}
Nach dem Login kopieren

Ersetzen Sie Ihre_Domäne_oder_IP durch Ihren tatsächlichen Domänennamen oder Ihre Server-IP-Adresse.

Schritt 2: Aktivieren Sie die Nginx-Konfiguration

Aktivieren Sie die neue Nginx-Konfiguration, indem Sie einen symbolischen Link zu „Sites-enabled“ erstellen:

sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
Nach dem Login kopieren

Schritt 3: Nginx testen und neu laden

Testen Sie die Nginx-Konfiguration, um sicherzustellen, dass keine Syntaxfehler vorliegen:

sudo nginx -t
Nach dem Login kopieren

Wenn alles in Ordnung ist, starten Sie Nginx neu:

sudo systemctl reload nginx
Nach dem Login kopieren

Teil 5: Letzte Schritte

Schritt 1: Führen Sie Laravel Migrations aus

Führen Sie die Laravel-Migrationen aus, um die Datenbank einzurichten:

cd /var/www/laravel_app
php artisan migrate
Nach dem Login kopieren

Schritt 2: Greifen Sie auf die Anwendung zu

Sie sollten jetzt auf die Laravel-Anwendung zugreifen können, indem Sie im Browser zur IP oder Domäne Ihres Servers navigieren. Sie sehen die Standard-Begrüßungsseite von Laravel.

Schritt 3: HTTPS aktivieren (optional, aber empfohlen)

Wenn Sie eine Domain haben, sichern Sie Ihre Website mit Let's Encrypt:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain
Nach dem Login kopieren

Folgen Sie den Anweisungen, um ein SSL-Zertifikat zu installieren. Certbot konfiguriert Nginx automatisch so, dass der HTTP-Verkehr auf HTTPS umgeleitet wird.


Teil 6: Optional: Laravel Queue und Scheduler einrichten

Laravel-Warteschlange:

Warteschlangen erledigen Aufgaben wie das Versenden von E-Mails oder die Verarbeitung von Aufträgen im Hintergrund.

  1. Richten Sie einen Warteschlangentreiber ein (z. B. Redis oder Datenbank).
  2. Führen Sie den Laravel-Warteschlangenarbeiter aus:
   php artisan queue:work
Nach dem Login kopieren

Laravel-Planer:

Verwenden Sie die Aufgabenplanungsfunktion von Laravel für Aufgaben wie das Leeren von Caches, das Versenden täglicher E-Mails usw.

  1. Fügen Sie den Laravel-Cron-Eintrag zu Ihrer Crontab hinzu:
   sudo crontab -e
Nach dem Login kopieren

Folgende Zeile hinzufügen:

   * * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
Nach dem Login kopieren

Conclusion:

You’ve successfully deployed a Laravel application on an Ubuntu server using the LEMP stack. From here, you can continue to develop your application, secure it, and monitor it for performance.

If you encounter any issues, check the Nginx error logs at /var/log/nginx/error.log or Laravel logs at /var/www/laravel_app/storage/logs/laravel.log.

With these steps, you've completed a full hands-on Laravel deployment!

Das obige ist der detaillierte Inhalt vonEinfache Laravel-Bereitstellung unter Ubuntu: Ein Leitfaden für Einsteiger mit LEMP Stack. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!