So installieren Sie Laravel PHP -Framework mit Nginx auf CentOS 8

So installieren Sie Laravel PHP -Framework mit Nginx auf CentOS 8

Laravel ist ein Open-Source, bekanntes und modernes PHP-basierter Web-Rahmen mit ausdrucksstarker, eleganter und leicht verständlicher Syntax, mit dem es einfach ist, große, robuste Webanwendungen zu erstellen.

Zu den wichtigsten Funktionen gehören eine einfache, schnelle Routing-Engine, leistungsstarke Abhängigkeitsinjektionsbehälter, mehrere Back-Ends für Sitzungs- und Cache-Speicher, ausdrucksstarke und intuitive Datenbank-ORM (Objektrelationszuordnung), robuste Hintergrundjob-Verarbeitung und Ereignisereignisübertragung, Rundfunk.

Außerdem werden Tools wie verwendet, z Komponist - Ein PHP -Paket -Manager für die Verwaltung von Abhängigkeiten und Handwerker - Eine Befehlslinienschnittstelle zum Erstellen und Verwalten von Webanwendungen.

In diesem Artikel erfahren Sie, wie Sie die neueste Version der installieren Laravel Php Web Framework auf Centos 8 Linux -Verteilung.

Serveranforderungen

Der Laravel Framework hat die folgenden Anforderungen:

  • Php> = 7.2.5 Mit diesen PHP -Erweiterungen OpenSSL, PDO, Mbstring, Tokenizer, XML, CTYPE und JSON.
  • Komponist - Zur Installation und Verwaltung von Abhängigkeiten.

Schritt 1: Installieren von Lemp Stack in CentOS 8

1. Aktualisieren Sie zum Starten System -Softwarepakete und installieren Sie Lemp Stapel (Linux, Nginx, Mariadb / Mysql, Und Php) Verwenden Sie die folgenden DNF -Befehle.

# DNF-Update # DNF Installation NGINX PHP-F-FPM PHP-COMMON PHP-XML PHP-MBRING PHP-JSON PHP-ZIP Mariadb-Server PHP-MYSQLND 

2. Wenn das Lemp Die Installation ist abgeschlossen. Sie müssen die Start haben PHP-PFM, Nginx Und Mariadb Dienste verwenden die folgenden SystemCTL -Befehle.

# SystemCTL Start PHP-FPM nginx mariadb # systemctl aktivieren PHP-FPM nginx mariadb # systemctl Status PHP-FPM nginx mariadb 

3. Als nächstes müssen Sie die sichern und verhärten Mariadb Datenbank -Engine mithilfe des Sicherheitsskripts wie gezeigt.

# Mysql_secure_installation 

Beantworten Sie die folgenden Fragen, um die Serverinstallation zu sichern.

Geben Sie das aktuelle Passwort für Root ein (für keine eingeben): Eingeben Stellen Sie das Root -Passwort fest? [Y/n] y #Neues Root -Passwort anonyme Benutzer entfernen? [Y/n] y Root Anmeldung aus der Ferne nicht zulassen? [Y/n] y Entfernen Sie die Testdatenbank und zugreifen Sie darauf? [Y/n] y Laden Sie jetzt Privilege -Tabellen neu laden? [Y/n] y

4. Wenn Sie das haben Firewall Der Dienst läuft, Sie müssen die öffnen Http Und Https Service in der Firewall, um Clientanfragen auf dem NGINX -Webserver zu aktivieren.

# Firewall-cmd --zone = public --permanent --add-service = http # Firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd--Reload 

5. Schließlich können Sie bestätigen, dass Ihre Lemp Stack wird mit einem Browser an der IP -Adresse Ihres Systems ausgeführt.

http: // server-ip 
Überprüfen Sie die Nginx -Webseite

Schritt 2: Konfigurieren und Sicherung von PHP-FPM und NGINX

6. Anfragen von der zu bearbeiten Nginx Webserver, PHP-FPM Kann auf einem UNIX -Socket oder einer TCP -Socket hören, und dies wird durch die definiert Hören Parameter in der /etc/php-fpm.D/www.Conf Konfigurationsdatei.

# vi /etc /php-fpm.D/www.Conf 

Standardmäßig ist es konfiguriert an Hören Auf einer UNIX -Steckdose, wie im folgenden Screenshot gezeigt. Der Wert hier wird später in der Nginx -Server -Blockdatei angegeben.

Legen Sie PHP-FPM Hören Sie Socket ein

7. Wenn Sie einen UNIX -Socket verwenden, sollten Sie auch den richtigen Eigentum und die richtigen Berechtigungen festlegen, wie im Screenshot gezeigt. Überzeugen Sie die folgenden Parameter und setzen Sie deren Werte auf Benutzer und Gruppe, um dem Benutzer und der Gruppe überein Nginx läuft als.

Hören.Besitzer = nginx hören.Gruppe = nginx hören.Modus = 066 
Setzen Sie Hören Sie Socket Besitz auf nginx

8. Setzen Sie als nächstes auch die systemweite Zeitzone in der /etc/php.Ini Konfigurationsdatei.

# vi /etc /php.Ini 

Suchen Sie nach der Linie ";Datum.Zeitzone" und wenden Sie sich an und setzen Sie seinen Wert wie im Screenshot gezeigt (verwenden Sie Werte, die für Ihre Region/Ihr Kontinent und Ihr Land gelten).

 Datum.Zeitzone = Afrika/Kampala 
Stellen Sie Zeitzone in PHP ein

9. Das Risiko von mindern Nginx Übergeben von Anfragen von böswilligen Benutzern, die andere Erweiterungen verwenden, um PHP-Code auf PHP-FPM auszuführen, den folgenden Parameter zu überzeugen und seinen Wert auf einen Wert zu setzen 0.

CGI.fix_pathinfo = 1 
Sichern Sie PHP und Nginx

10. In Bezug auf den vorherigen Punkt auch den folgenden Parameter in der /etc/php-fpm.D/www.Conf Datei. Lesen Sie den Kommentar, um weitere Erklärungen zu erhalten.

Sicherheit.limit_extensions = .Php .Php3 .Php4 .Php5 .Php7 
Begrenzen Sie PHP -Erweiterungsausführungen

Schritt 3: Installieren von Komponisten und Laravel PHP -Framework

11. Als nächstes installieren Sie die Komponist Paket durch Ausführen der folgenden Befehle. Der erste Befehl lädt den Installateur herunter und führt ihn dann mit PHP aus.

# curl -SS https: // getComposer.Org/Installer | PHP # MV -Komponist.PHAR/usr/local/bin/Composer # chmod +x/usr/local/bin/Composer 
Installieren Sie den Komponisten in CentOS 8

12. Nun das Komponist wird installiert, um Laravel -Dateien und Abhängigkeiten wie folgt zu installieren. Ersetzen meine Seite.com Mit dem Namen des Verzeichnisses, in dem die Laravel -Dateien gespeichert werden /var/www/html/mySite.com.

# CD/var/www/html/ # Composer erstellen-projekt-Prefer-Dist Laravel/Laravel MySite.com 
Installieren Sie Laravel in CentOS 8

Wenn während des Prozesses alles gut geht, sollte die Anwendung erfolgreich installiert werden und ein Schlüssel erzeugt werden, wie im folgenden Screenshot gezeigt.

Laravel -Installation vollständig

13. Während des Installationsprozesses die .env Die Umgebungsdatei wurde erstellt und die erforderliche Anwendung wurde ebenfalls generiert, sodass Sie sie nicht manuell erstellen müssen wie zuvor. Um dies zu bestätigen, führen Sie eine lange Auflistung des Laravel Root -Verzeichnisses mit dem Befehl LS aus.

# ls -la mysite.com/ 
Listen Sie Laravel -Dateien auf

14. Als Nächst Lagerung und das Bootstrap/Cache Verzeichnisse, die vom Nginx -Webserver beschreibend sein sollen.

# Chown -r: nginx/var/www/html/mySite.com/storate/ # chown -r: nginx/var/www/html/mySite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mySite.com/storate/ # chmod -r 0775/var/www/html/mySite.com/bootstrap/cache/ 

15. Wenn Selinux Auf Ihrem Server aktiviert, sollten Sie auch den Sicherheitskontext der aktualisierten Lagerung Und Bootstrap/Cache Verzeichnisse.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mySite.com/storage (/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mySite.com/bootstrap/cache (/.*)?' # restorecon -rv'/var/www/html/mySite.com ' 

Schritt 4: Konfigurieren Sie den Nginx -Server -Block für Laravel

16. Für Nginx Um Ihre Website oder Anwendung zu bedienen, müssen Sie in a einen Serverblock dafür erstellen .Conf Datei unter /etc/nginx/conf.D/ Verzeichnis wie gezeigt.

# vi/etc/nginx/conf.D/MySite.com.Conf 

Kopieren Sie die folgende Konfiguration in die Datei. Beachten Sie die Wurzel und fastcgi_pass Parameter.

Server Listen 80; server_name mysit.com; root/var/www/html/mySite.com/public; Indexindex.PHP; Charset UTF-8; gzip auf; GZIP_TYPES-Text/CSS-Anwendung/JavaScript Text/JavaScript-Anwendung/X-JavaScript Bild/SVG+XML Text/Klartext/XSD Text/XSL Text/XML Image/X-ICON; location / try_files $ uri $ uri / / Index.Php?$ query_string;  Ort ~ \.PHP Fastcgi einschließen.conf; fastcgi_split_path_info ^(.+\.PHP) (//.+) $; fastcgi_pass unix:/run/php-fpm/www.Socke;  Ort ~ /\.ht alles leugnen;  

17. Speichern Sie die Datei und prüfen Sie, ob die Nginx Die Konfigurationssyntax ist durch Ausführen korrekt.

# nginx -t 
Überprüfen Sie die Nginx -Konfiguration

18. Dann starten Sie die neu neu PHP-FPM Und Nginx Dienstleistungen für die jüngsten Änderungen, die wirksam werden,.

# SystemCTL RESTART PHP-FPM # SystemCTL Neustart nginx neu starten 

Schritt 5: Zugriff auf die LaRavel -Website von einem Webbrowser über

19. Zugriff auf die Laravel -Website unter meine Seite.com, Dies ist kein voll qualifizierter Domain -Name (FQDN) und ist nicht registriert (es wird nur für Testzwecke verwendet), wir werden die verwenden /etc/hosts Datei auf Ihrem lokalen Computer zum Erstellen lokaler DNS.

Fügen Sie den folgenden Befehl aus, um die Server -IP -Adresse und -Domäne in der erforderlichen Datei hinzuzufügen (ersetzen Sie den Wert gemäß Ihren Einstellungen).

# IP hinzufügen #get Remote Server IP $ echo "10.42.0.21 MySite.com "| sudo tee -a /etc /hosts 
Fügen Sie DNS -Einträge in lokale Datei hinzu

20. Öffnen Sie als Nächst.

http: // mysite.com 
Laraval -Webzugriff

Sie haben erfolgreich eingesetzt Laravel An Centos 8. Sie können jetzt mit der Entwicklung Ihrer Website oder Webanwendung beginnen Laravel. Weitere Informationen finden Sie unter Laravel Erste Start Guide.