GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Laravel PHP Framework mit Nginx unter CentOS 8

Einführung

Laravel ist ein bekanntes und modernes Open-Source-Webframework auf PHP-Basis mit einer ausdrucksstarken, eleganten und leicht verständlichen Syntax, die es einfach macht, große, robuste Webanwendungen zu erstellen.

Zu den Hauptmerkmalen gehören eine einfache, schnelle Routing-Engine, ein leistungsstarker Dependency-Injection-Container, mehrere Back-Ends für Sitzungs- und Cache-Speicherung, ein ausdrucksstarkes und intuitives Datenbank-ORM (Object-Relational Mapping), eine robuste Jobverarbeitung im Hintergrund und eine Übertragung von Ereignissen in Echtzeit.

Außerdem verwendet es Tools wie Composer – einen PHP-Paketmanager zum Verwalten von Abhängigkeiten und Artisan – eine Befehlszeilenschnittstelle zum Erstellen und Verwalten von Webanwendungen.

Sie erfahren, wie Sie die neueste Version des Laravel PHP-Webframeworks auf der CentOS 8-Linux-Distribution installieren.

LEMP-Stack installieren

1. Aktualisieren Sie zunächst die Systemsoftwarepakete und installieren Sie LEMP Stack (Linux , Nginx , MariaDB / MySQL und PHP ) mit den folgenden dnf-Befehlen.

# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Wenn der LEMP Installation abgeschlossen ist, müssen Sie das PHP-PFM starten , Nginx und MariaDB Dienste mit den folgenden systemctl-Befehlen.

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3. Sie müssen die MariaDB sichern und härten Datenbank-Engine, die das Sicherheitsskript wie gezeigt verwendet.

# mysql_secure_installation

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

Enter current password for root (enter for none): press Enter 

 Set root password? [Y/n]y #set new root password Remove anonymous users? [Y/n] press y 
Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] press y
 Reload privilege tables now? [Y/n] 

4. Wenn Sie die Firewalld haben Dienst ausgeführt wird, müssen Sie HTTP öffnen und HTTPS Dienst in der Firewall, um Client-Anfragen an den Nginx-Webserver zu ermöglichen.

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

5. Abschließend können Sie bestätigen, dass Ihr LEMP Stack mit einem Browser unter der IP-Adresse Ihres Systems ausgeführt wird.

http://server-IP

Konfigurieren und Sichern von PHP-FPM und Nginx

1. Um Anfragen von Nginx zu verarbeiten Webserver, PHP-FPM kann auf einem Unix-Socket oder TCP-Socket lauschen und dies wird durch listen definiert -Parameter in /etc/php-fpm.d/www.conf Konfigurationsdatei.

# vi /etc/php-fpm.d/www.conf

Standardmäßig ist es so konfiguriert, dass es zuhört auf einem Unix-Socket, wie im folgenden Screenshot gezeigt. Der Wert hier wird später in der Blockdatei des Nginx-Servers angegeben.

2. Wenn Sie einen Unix-Socket verwenden, sollten Sie auch den richtigen Besitz und die richtigen Berechtigungen festlegen, wie im Screenshot gezeigt. Entkommentieren Sie die folgenden Parameter und legen Sie ihre Werte für den Benutzer und die Gruppe so fest, dass sie mit dem Benutzer und der Gruppe Nginx übereinstimmen läuft als.

listen.owner = nginx
listen.group = nginx
listen.mode = 066

3. Stellen Sie als Nächstes auch die systemweite Zeitzone in der /etc/php.ini ein Konfigurationsdatei.

# vim /etc/php.ini

Suchen Sie nach der Zeile "date.timezone" und kommentieren Sie es aus und setzen Sie dann seinen Wert wie im Screenshot gezeigt (verwenden Sie Werte, die für Ihre Region/Ihren Kontinent und Ihr Land gelten).

 date.timezone = Africa/Cairo

4. Um das Risiko von Nginx zu mindern Anfragen von böswilligen Benutzern weiterleiten, die andere Erweiterungen verwenden, um PHP-Code an PHP-FPM auszuführen, kommentieren Sie den folgenden Parameter aus und setzen Sie seinen Wert auf 0 .

cgi.fix_pathinfo=0

5. Kommentieren Sie in Bezug auf den vorherigen Punkt auch den folgenden Parameter in /etc/php-fpm.d/www.conf aus Datei. Lesen Sie den Kommentar für weitere Erklärungen.

security.limit_extensions = .php .php3 .php4 .php5 .php7

Installieren Sie Composer und Laravel PHP Framework

1. Installieren Sie als Nächstes den Composer Paket, indem Sie die folgenden Befehle ausführen. Der erste Befehl lädt das Installationsprogramm herunter und führt es dann mit PHP aus.

[unixcop@unixcop ~]$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading…
Composer (version 2.1.5) successfully installed to: /home/unixcop/composer.phar
Use it: php composer.phar
[unixcop@unixcop ~]$

Führen Sie dann diese Befehle aus:

mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

2. Nun, dieser Komponist installiert ist, verwenden Sie es, um Laravel-Dateien und Abhängigkeiten wie folgt zu installieren. Ersetzen Sie newunixcop.com mit dem Namen des Verzeichnisses, in dem die Laravel-Dateien gespeichert werden, lautet der absolute Pfad (oder Stammpfad in der Nginx-Konfigurationsdatei) /var/www/html/newunixcop.com .

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel newunixcop.com

3. Während des Installationsvorgangs wird die Datei .env Umgebungsdatei erstellt und die erforderliche Anwendung wurde ebenfalls generiert, sodass Sie sie nicht wie zuvor manuell erstellen müssen. Führen Sie zur Bestätigung eine lange Auflistung des Laravel-Stammverzeichnisses mit dem Befehl ls aus.

# ls -la newunixcop.com/

4. Sie müssen den richtigen Besitz und die richtigen Berechtigungen für den Speicher konfigurieren und der Bootstrap/Cache Verzeichnisse, die vom Nginx-Webserver beschreibbar sein sollen.

[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/bootstrap/cache/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chmod -R 0775 /var/www/html/newunixcop.com/bootstrap/cache/

5. Wenn SELinux auf Ihrem Server aktiviert ist, sollten Sie auch den Sicherheitskontext des Speichers aktualisieren und Bootstrap/Cache Verzeichnisse.

Führen Sie diesen Befehl aus:

[root@unixcop html]# restorecon -Rv 'https://1118798822.rsc.cdn77.org/var/www/html/newunixcop.com'
Relabeled /var/www/html/newunixcop.com/storage/logs from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
Relabeled /var/www/html/newunixcop.com/storage/logs/.gitignore from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
[root@unixcop html]# 

Nginx-Serverblock für Laravel konfigurieren

1. Für Nginx Um mit der Bereitstellung Ihrer Website oder Anwendung zu beginnen, müssen Sie einen Serverblock dafür in einer .conf erstellen Datei unter /etc/nginx/conf.d/ Verzeichnis wie gezeigt.

# vim /etc/nginx/conf.d/newunixcop.com.conf

Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Datei ein. Beachten Sie den Stamm und fastcgi_pass Parameter.

server {
        listen      80;
       server_name newunixcop.com;
       root        /var/www/html/newunixcop.com/public;
       index       index.php;

       charset utf-8;
       gzip on;
        gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

2. Speichern Sie die Datei und prüfen Sie, ob die Nginx Konfigurationssyntax ist korrekt, indem ausgeführt wird.

[root@unixcop ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@unixcop ~]# 

3. Starten Sie anschließend das PHP-FPM neu und Nginx Dienste, damit die letzten Änderungen wirksam werden.

# systemctl restart php-fpm
# systemctl restart Nginx

Zugriff auf die Laravel-Website über einen Webbrowser

4. Zugriff auf die Laravel-Website unter newunixcop.com , der kein vollständig qualifizierter Domänenname (FQDN) ist und nicht registriert ist (er wird nur zu Testzwecken verwendet), verwenden wir /etc/hosts Datei auf Ihrem lokalen Rechner, um lokales DNS zu erstellen.

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

[root@unixcop ~]# echo "192.168.122.60  newunixcop.com" | sudo tee -a /etc/hosts
192.168.122.60  newunixcop.com
[root@unixcop ~]# 

5. Öffnen Sie einen Webbrowser auf dem lokalen Computer und verwenden Sie die folgende Adresse zum Navigieren.

http://newunixcop.com

Schlussfolgerung

Sie haben Laravel erfolgreich bereitgestellt auf CentOS 8 . Sie können jetzt mit der Entwicklung Ihrer Website oder Webanwendung mit Laravel beginnen . Weitere Informationen finden Sie im Leitfaden Erste Schritte mit Laravel.


Cent OS
  1. So installieren Sie WordPress mit Nginx unter CentOS 7

  2. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  3. So installieren Sie Nextcloud mit Nginx und PHP 7.3 auf CentOS 8

  4. So installieren Sie SuiteCRM mit Nginx unter CentOS 7

  5. So installieren Sie Phorum mit Nginx unter CentOS 7

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

So installieren Sie Laravel mit Nginx unter CentOS 8

So installieren Sie Laravel PHP Framework mit Nginx unter Ubuntu 20.04

So installieren Sie Laravel PHP Framework mit Nginx unter CentOS 8

So installieren Sie Laravel PHP Framework mit Nginx unter Ubuntu Linux