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.
Stellen Sie zunächst sicher, dass Ihr Server auf dem neuesten Stand ist.
sudo apt update && sudo apt upgrade -y
Nginx wird Ihre Anwendung bedienen.
sudo apt install nginx -y
Nach der Installation können Sie Nginx starten und die Ausführung beim Booten aktivieren:
sudo systemctl start nginx sudo systemctl enable nginx
Sie können überprüfen, ob Nginx ausgeführt wird, indem Sie die IP-Adresse Ihres Servers in einem Browser aufrufen.
Als nächstes installieren wir den MySQL-Datenbankserver.
sudo apt install mysql-server -y
Sichern Sie die MySQL-Installation:
sudo mysql_secure_installation
Dadurch werden Sie aufgefordert, ein Root-Passwort einzurichten und unsichere Standardeinstellungen zu entfernen.
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
Überprüfen Sie die PHP-Installation:
php -v
Sie sollten etwa Folgendes sehen:
PHP 7.x.x (cli) (built: ...)
Melden Sie sich als Root-Benutzer bei der MySQL-Konsole an:
sudo mysql
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;
Stellen Sie sicher, dass der neue Datenbankbenutzer eine Verbindung herstellen kann:
mysql -u laravel_user -p
Sie werden zur Eingabe des Passworts aufgefordert und geben dann Folgendes ein:
SHOW DATABASES;
Sie sollten laravel_app in der Liste sehen.
Laravel verwendet Composer als Abhängigkeitsmanager. Composer installieren:
sudo apt install composer -y
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
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
Ö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
Wir erstellen eine Nginx-Konfigurationsdatei für das Laravel-Projekt.
sudo nano /etc/nginx/sites-available/laravel_app
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; } }
Ersetzen Sie Ihre_Domäne_oder_IP durch Ihren tatsächlichen Domänennamen oder Ihre Server-IP-Adresse.
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/
Testen Sie die Nginx-Konfiguration, um sicherzustellen, dass keine Syntaxfehler vorliegen:
sudo nginx -t
Wenn alles in Ordnung ist, starten Sie Nginx neu:
sudo systemctl reload nginx
Führen Sie die Laravel-Migrationen aus, um die Datenbank einzurichten:
cd /var/www/laravel_app php artisan migrate
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.
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
Folgen Sie den Anweisungen, um ein SSL-Zertifikat zu installieren. Certbot konfiguriert Nginx automatisch so, dass der HTTP-Verkehr auf HTTPS umgeleitet wird.
Warteschlangen erledigen Aufgaben wie das Versenden von E-Mails oder die Verarbeitung von Aufträgen im Hintergrund.
php artisan queue:work
Verwenden Sie die Aufgabenplanungsfunktion von Laravel für Aufgaben wie das Leeren von Caches, das Versenden täglicher E-Mails usw.
sudo crontab -e
Folgende Zeile hinzufügen:
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
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!