GNU/Linux >> LINUX-Kenntnisse >  >> Rocky Linux

So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Rocky Linux/Alma Linux 8

PHP ist eine Allzweck-Skriptsprache, die auf die Webentwicklung ausgerichtet ist. Es ist eine der beliebtesten Programmiersprachen für das Web. Beliebte Tools wie WordPress werden mit PHP codiert. Auch große Unternehmen wie Facebook nutzen PHP stark.

Nginx ist ein Webserver, der auch als Reverse-Proxy, Load-Balancer, Mail-Proxy und HTTP-Cache verwendet werden kann. Es begann als Webserver, der auf maximale Leistung und Stabilität ausgelegt war. Nginx hat seit seiner Veröffentlichung aufgrund seiner geringen Ressourcennutzung und seiner Fähigkeit, auf minimaler Hardware problemlos zu skalieren, an Popularität gewonnen. Nginx zeichnet sich durch die schnelle Bereitstellung statischer Inhalte aus und ist darauf ausgelegt, dynamische Anfragen an andere Software weiterzuleiten, die für diese Zwecke besser geeignet ist.

Verwandte Inhalte

  • Wie man PHP und Nginx (LEMP) auf OpenSUSE Leap 15.3 installiert und einrichtet
  • So installieren Sie den Apache PHP 7.4 (LAMP) Stack auf Rocky Linux/Centos 8
  • Wie man PHP und Apache (LAMP-Stack) unter Ubuntu 20.04 installiert und einrichtet
  • So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Ubuntu 20.04
  • Wie man PHP und Apache (LAMP-Stack) unter Debian 11 installiert und einrichtet
  • Wie man PHP und Nginx (LEMP) unter Debian 11 installiert und einrichtet

Inhaltsverzeichnis

  1. Sicherstellen, dass der Server auf dem neuesten Stand ist
  2. Installation von PHP auf Rocky Linux/Alma Linux 8
  3. Installieren von Nginx auf Rocky Linux/Alma Linux 8
  4. Installation von php-fpm in Rocky Linux/Alma Linux 8
  5. Eine einfache Site erstellen und einen virtuellen Host konfigurieren
  6. Testen der Konfiguration

1. Sicherstellen, dass der Server auf dem neuesten Stand ist

Bevor Sie fortfahren, sollten Sie immer sicherstellen, dass der Server auf dem neuesten Stand ist. Verwenden Sie diese Befehle, um dies zu erreichen

sudo df update -y

2. Installation von PHP auf Rocky Linux/Alma Linux 8

Damit PHP-Dateien bereitgestellt werden können, muss PHP im System eingerichtet werden. In dieser Anleitung werden wir PHP 7.4 installieren.

PHP 7.4 ist noch nicht in den Standard-Repositories verfügbar. Das Remi-Repository ist das perfekte Repo, um php7.4 zu installieren. Remi Repo ist ein kostenloses und stabiles YUM-Repository hauptsächlich für den PHP-Stack. Es enthält Pakete für die neuesten Versionen von PHP.

So aktivieren Sie das Remi-Repository auf unserem Centos-Server:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Bestätigen Sie mit diesem Befehl, dass das Remi-Repository installiert und aktiviert wurde:

$ sudo dnf repolist
repo id                                 repo name
appstream                               CentOS Linux 8 - AppStream
baseos                                  CentOS Linux 8 - BaseOS
epel                                    Extra Packages for Enterprise Linux 8 - x86_64
epel-modular                            Extra Packages for Enterprise Linux Modular 8 - x86_64
extras                                  CentOS Linux 8 - Extras
remi-modular                            Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe                               Safe Remi's RPM repository for Enterprise Linux 8 - x86_64

Sie sollten die Remi-Repos als Teil der Liste sehen.

Nachdem das Repository installiert wurde, suchen wir nach php. Verwenden Sie diesen Befehl:

$ sudo dnf module list php
Last metadata expiration check: 0:49:30 ago on Wed 22 Dec 2021 04:23:13 AM UTC.
Rocky Linux 8 - AppStream
Name           Stream             Profiles                            Summary
php            7.2 [d]            common [d], devel, minimal          PHP scripting language
php            7.3                common [d], devel, minimal          PHP scripting language
php            7.4                common [d], devel, minimal          PHP scripting language

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name           Stream             Profiles                            Summary
php            remi-7.2           common [d], devel, minimal          PHP scripting language
php            remi-7.3           common [d], devel, minimal          PHP scripting language
php            remi-7.4           common [d], devel, minimal          PHP scripting language
php            remi-8.0           common [d], devel, minimal          PHP scripting language
php            remi-8.1           common [d], devel, minimal          PHP scripting language

Von der Liste. Wir können sehen, dass die Standardeinstellung 7.2 ist. Durchführen einer dnf install php installiert die 7.2 was wir nicht wollen. Lassen Sie uns 7.4 mit diesem Befehl aktivieren:

sudo dnf module enable php:remi-7.4

Wenn es aus irgendeinem Grund fehlschlägt, können Sie das vorhandene Modul mit diesem Befehl zurücksetzen:

sudo dnf module reset php

Nachdem das Repo aktiviert wurde, können Sie PHP mit diesem Befehl installieren:

sudo dnf install -y php \
    php-common \
    php-cli

Einmal erfolgreich. Bestätigen Sie die installierte Version mit diesem Befehl:

$ php -v
PHP 7.4.27 (cli) (built: Dec 14 2021 17:17:06) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.27, Copyright (c), by Zend Technologies

3. Nginx unter Rocky Linux installieren

Wir werden Nginx verwenden, um den PHP-Inhalt bereitzustellen. Nginx passt als stabiler Hochleistungs-Webserver und mit sehr geringem Ressourcenverbrauch perfekt zu PHP-FPM. Nginx hat eine asynchrone Architektur, die viel skalierbarer ist und auf Ereignissen basiert.

Nginx ist in den standardmäßigen Rocky Linux/Alma Linu Repos verfügbar. Installieren Sie es mit diesem Befehl:

sudo dnf install -y nginx

Bestätigen Sie das installierte nginx

$ rpm -qi nginx
Name        : nginx
Epoch       : 1
Version     : 1.14.1
Release     : 9.module+el8.4.0+542+81547229
Architecture: x86_64
Install Date: Wed 22 Dec 2021 05:16:08 AM UTC
Group       : System Environment/Daemons
Size        : 1669719
License     : BSD
Signature   : RSA/SHA256, Thu 10 Jun 2021 09:22:38 AM UTC, Key ID 15af5dac6d745a60
Source RPM  : nginx-1.14.1-9.module+el8.4.0+542+81547229.src.rpm
Build Date  : Thu 10 Jun 2021 09:10:40 AM UTC
Build Host  : ord1-prod-x86build005.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager    : [email protected]
Vendor      : Rocky
URL         : http://nginx.org/
Summary     : A high performance web server and reverse proxy server
Description :
Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and
IMAP protocols, with a strong focus on high concurrency, performance and low

Der Dienst wird standardmäßig nicht gestartet. Verwenden Sie zum Starten von Nginx diesen Befehl:

sudo systemctl start nginx

Bestätigen Sie den Status mit diesem Befehl:

$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           └─php-fpm.conf
   Active: active (running) since Wed 2021-12-22 05:17:32 UTC; 45s ago
  Process: 118235 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 118228 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 118226 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 118237 (nginx)
    Tasks: 3 (limit: 23167)
   Memory: 5.0M
   CGroup: /system.slice/nginx.service
           ├─118237 nginx: master process /usr/sbin/nginx
           ├─118238 nginx: worker process
           └─118239 nginx: worker process

Dec 22 05:17:32 rockylinuxsrv.citizix.com systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 22 05:17:32 rockylinuxsrv.citizix.com nginx[118228]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 22 05:17:32 rockylinuxsrv.citizix.com nginx[118228]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 22 05:17:32 rockylinuxsrv.citizix.com systemd[1]: Started The nginx HTTP and reverse proxy server.

Um den Dienst beim Booten zu aktivieren, verwenden Sie diesen systemd-Befehl:

sudo systemctl enable nginx

4. Installation von PHP FPM in Rocky Linux/Alma Linux 8

PHP-FPM (ein Akronym für FastCGI Process Manager) ist eine äußerst beliebte alternative PHP (Hypertext Processor)-FastCGI-Implementierung. PHP-FPM ist die beliebteste alternative Implementierung von PHP FastCGI. Es hat zusätzliche Funktionen, die für stark frequentierte Websites wirklich nützlich sind. Bei Verwendung von Nginx mit PHP-FPM wird die Leistung auf der Ebene des Speicherverbrauchs verbessert.

PHP wird bei Verwendung von PHP-FPM als separater Dienst ausgeführt. Durch die Verwendung dieser PHP-Version als Sprachinterpreter werden Anfragen über einen TCP/IP-Socket verarbeitet; sodass der Nginx-Webserver nur die HTTP-Anfragen verarbeitet und PHP-FPM den PHP-Code interpretiert. Die Tatsache, dass es zwei getrennte Dienste gibt, ist der Schlüssel zur Steigerung der Effizienz.

Installieren Sie php-fpm mit diesem Befehl:

sudo dnf install -y php-fpm

Der Dienst wird standardmäßig nicht gestartet. Um es zu starten, verwenden Sie diesen systemd-Befehl:

sudo systemctl start php-fpm

Überprüfen Sie den Dienststatus, um mit diesem Befehl zu bestätigen, dass er ausgeführt wird:

$ sudo systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-12-22 05:17:32 UTC; 3min 5s ago
 Main PID: 118227 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 23167)
   Memory: 22.9M
   CGroup: /system.slice/php-fpm.service
           ├─118227 php-fpm: master process (/etc/php-fpm.conf)
           ├─118230 php-fpm: pool www
           ├─118231 php-fpm: pool www
           ├─118232 php-fpm: pool www
           ├─118233 php-fpm: pool www
           └─118234 php-fpm: pool www

Dec 22 05:17:32 rockylinuxsrv.citizix.com systemd[1]: Starting The PHP FastCGI Process Manager...
Dec 22 05:17:32 rockylinuxsrv.citizix.com systemd[1]: Started The PHP FastCGI Process Manager.

5. Erstellen einer einfachen Site und Konfigurieren eines virtuellen Hosts

Mit Nginx können Sie mehrere Sites mithilfe virtueller Hosts bedienen. Das Konzept der virtuellen Hosts ermöglicht mehr als eine Website auf einem System oder Webserver. Die Server werden durch ihren Hostnamen unterschieden. Besucher der Website werden anhand des Hostnamens oder der IP-Adresse an den richtigen virtuellen Host geleitet. Virtuelles Hosting ermöglicht es Unternehmen, die sich einen Server teilen, um jeweils ihre eigenen Domainnamen zu haben.

In diesem Beispiel verwenden wir die Domäne site1.citizix.com für den virtuellen Host, es steht Ihnen jedoch frei, die Domäne Ihrer Wahl zu verwenden. Bitte beachten Sie, dass der DNS für die zu verwendende Domain bereits so konfiguriert sein sollte, dass er auf die IP-Adresse des Servers zeigt. Bestätigen Sie dies mit:

dig -t A site1.citizix.com

Erstellen eines Verzeichnisses und Hinzufügen von Beispielinhalten

Die Standardseite von nginx ist als standardmäßiger virtueller Host konfiguriert, der Inhalte von /var/www/html bereitstellt . Es hat sich bewährt, das Verzeichnis Ihrer Website im /var/www zu erstellen da es sich bewährt hat, von dort aus zu dienen.

Lassen Sie uns mit dem folgenden Befehl ein Verzeichnis für unsere Site erstellen:

sudo mkdir /var/www/site1.citizix.com

Lassen Sie uns eine einfache index.php erstellen Seite, die von unserer Website bereitgestellt werden soll. Sie müssen vim installiert haben, damit dies funktioniert, wenn nicht, verwenden Sie diesen Befehl:

sudo dnf install -y vim

Bearbeiten Sie die Datei:

sudo vim /var/www/site1.citizix.com/index.php

Inhalt zur Datei hinzufügen:

<?php phpinfo(); ?>

Erstellen eines virtuellen Hosts (Serverblöcke)

Ein Nginx-Serverblock kann verwendet werden, um Konfigurationsdetails zu kapseln und mehr als eine Domain auf einem einzelnen Server zu hosten. Wir werden einen virtuellen Host für unsere Website erstellen (site1.citizix.com).

Konfigurationen für virtuelle Nginx-Hosts werden im Verzeichnis /etc/nginx/conf.d/ gespeichert . Lassen Sie uns eine Konfiguration für unsere Site erstellen:

sudo vim /etc/nginx/conf.d/site1.citizix.com.conf

Fügen Sie den folgenden Inhalt hinzu

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name site1.citizix.com;

    access_log /var/log/nginx/site1.citizix.com.log;
    error_log  /var/log/nginx/site1.citizix.com.log;

    root /var/www/site1.citizix.com;
    index index.php;

    if ($host !~* ^(site1.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_read_timeout 600;
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Lassen Sie uns den nginx- und php-fpm-Dienst neu starten, damit die Konfiguration angewendet wird

sudo systemctl restart php-fpm
sudo systemctl restart nginx

6. Testen der Konfiguration

Um die Konfiguration zu testen, öffnen Sie Ihren Browser und laden Sie die von Ihnen eingerichtete Domain. In meinem Fall ist es http://site1.citizix.com . Sie sollten die PHP-Infoseite sehen.

Wenn Sie Ihre DNS-Einstellungen noch nicht konfiguriert haben oder einfach nicht möchten, dass die Website live geht, können Sie die Hosts-Datei Ihres Computers ändern. Verwenden Sie dazu den folgenden Befehl in der CLI Ihres lokalen Computers

sudo vim /etc/hosts

Fügen Sie dann die IP-Adresse Ihres tatsächlichen Servers hinzu, gefolgt von dem Domänennamen, den Sie konfigurieren, zum Beispiel:

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

Jetzt sollten Sie die Datei speichern und über einen Webbrowser darauf zugreifen können.

Schlussfolgerung

Virtuelle Nginx-Hosts oder server Blöcke sind eine großartige Möglichkeit, zusätzliche Websites zu demselben Ursprungsserver hinzuzufügen. Die Anzahl der Konfigurationsmöglichkeiten für eine bestimmte Site ist nahezu unbegrenzt, wenn Sie beginnen, die Konfigurationsdatei des virtuellen Hosts zu ändern, um sie an die spezifischen Anforderungen Ihrer Site anzupassen.

In diesem Leitfaden haben wir gelernt, wie man einen virtuellen Host einrichtet, um PHP-Inhalte in Rocky Linux/Alma Linux oder RHEL-basierten Systemen bereitzustellen.


Rocky Linux
  1. Wie installiere ich WordPress mit LEMP (Nginx, MariaDB und PHP) unter Rocky Linux 8?

  2. So installieren Sie Erlang auf Rocky Linux/Alma Linux/CentOS 8

  3. Anleitung zum Installieren und Einrichten von PHP und Nginx (LEMP) unter Debian 11

  4. So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter Ubuntu 20.04

  5. So installieren und konfigurieren Sie PHP und Nginx (LEMP) unter OpenSUSE Leap 15.3

So installieren Sie PHP 7.4 auf Rocky Linux 8

So installieren Sie Linux, Nginx, MariaDB und PHP (LEMP) auf Fedora 22

So installieren Sie PHP 8 auf Rocky Linux 8

So installieren Sie Nginx unter Rocky Linux 8

So installieren Sie Laravel auf Rocky Linux 8

So installieren Sie Nginx unter Rocky Linux 9