GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

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

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 Apache (LAMP-Stack) unter 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
  • Installation und Einrichtung von PHP und Nginx (LEMP) unter Rocky Linux/Alma Linux 8

Inhaltsverzeichnis

  1. Sicherstellen, dass der Server auf dem neuesten Stand ist
  2. Installieren von PHP auf OpenSUSE Leap 15.3
  3. Installieren von Nginx auf OpenSUSE Leap 15.3
  4. Installation von php-fpm in OpenSUSE Leap 15.3
  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 zypper refresh
sudo zypper update -y

2. Installation von PHP auf OpenSUSE Leap 15.3

PHP ist in den standardmäßigen OpenSUSE-Repositorys verfügbar. Die neueste Version von PHP zum Zeitpunkt des Schreibens dieses Blogs ist PHP 7.4.

Installieren Sie PHP und einige gängige Pakete mit diesem Befehl:

sudo zypper install -y \
    php \
    php-cli

Überprüfen Sie die installierte Version von PHP

~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...


Information for package php7:
-----------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : php7
Version        : 7.4.6-3.29.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary        : Interpreter for the PHP scripting language version 7
Description    :
    PHP is a server-side HTML embedded scripting language designed
    primarily for web development but also used as a general-purpose
    programming language.

    This package contains the standard implementation of PHP, namely Zend
    PHP. Included are the PHP command-line binary and the configuration
    file (php.ini). This package must be installed in order to use PHP.
    Additionally, extension modules and server modules (e.g. for Apache)
    may be installed.

    Additional documentation is available in package php-doc.

Überprüfen Sie die installierte PHP-Version mit diesem Befehl:

~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

3. Installieren von Nginx auf OpenSUSE Leap 15.3

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 UpenSUSE-Repositorys verfügbar. Installieren Sie es mit diesem Befehl:

sudo zypper install -y nginx

Bestätigen Sie das installierte nginx

~> zypper info nginx
Loading repository data...
Reading installed packages...


Information for package nginx:
------------------------------
Repository     : Main Repository
Name           : nginx
Version        : 1.19.8-3.6.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 2.2 MiB
Installed      : Yes
Status         : up-to-date
Source package : nginx-1.19.8-3.6.1.src
Summary        : A HTTP server and IMAP/POP3 proxy server
Description    :
    nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
    It has been running on many heavily loaded Russian sites for more than two years.

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

sudo systemctl start nginx

Bestätigen Sie mit diesem Befehl, dass der Dienst ausgeführt wird:

~> 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)
     Active: active (running) since Mon 2021-12-20 18:56:15 UTC; 36s ago
    Process: 31740 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 31741 (nginx)
      Tasks: 2 (limit: 4587)
     CGroup: /system.slice/nginx.service
             ├─31741 nginx: master process /usr/sbin/nginx -g daemon off;
             └─31742 nginx: worker process

Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Started The nginx HTTP and reverse proxy server.

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

sudo systemctl enable nginx

4. Installation von PHP FPM in OpenSUSE Leap 15.3

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 zypper install -y php-fpm

Standardkonfigurationsdateien kopieren

sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Der Dienst wird standardmäßig nicht gestartet. Starten Sie php-fpm mit diesem Befehl:

sudo systemctl start php-fpm

Überprüfen Sie seinen Status mit diesem Befehl:

~> 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 Mon 2021-12-20 08:56:16 UTC; 21s ago
   Main PID: 24608 (php-fpm)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 4587)
     CGroup: /system.slice/php-fpm.service
             ├─24608 php-fpm: master process (/etc/php7/fpm/php-fpm.conf)
             ├─24609 php-fpm: pool www
             └─24610 php-fpm: pool www

Dec 20 08:56:16 ip-10-2-40-44 systemd[1]: Starting The PHP FastCGI Process Manager...
Dec 20 08:56:16 ip-10-2-40-44 systemd[1]: Started The PHP FastCGI Process Manager.

Verwenden Sie diesen Befehl, um php-fpm beim Booten zu aktivieren:

sudo systemctl enable php-fpm

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 das DNS für die zu verwendende Domain bereits so konfiguriert sein sollte, dass es 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 Verzeichnis /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 zypper 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 Handbuch haben wir gelernt, wie man einen virtuellen Host einrichtet, um PHP-Inhalte in OpenSUSE Leap 15.3 bereitzustellen.


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

  2. So installieren und konfigurieren Sie PHP und Apache (LAMP-Stack) unter OpenSUSE Leap 15.3

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

  4. So installieren und konfigurieren Sie Nginx als Proxy OpenSUSE Leap 15.3

  5. So installieren und konfigurieren Sie Mariadb 10 in OpenSUSE Leap 15.3

So installieren Sie WordPress mit HHVM und Nginx auf OpenSUSE Leap 42.1

So installieren Sie ownCloud 9 mit Nginx auf OpenSUSE Leap 42.1

So installieren Sie PHP 8.0 auf openSUSE 15 Leap

So installieren Sie LEMP auf CentOS 7

So installieren Sie Apache und PHP unter OpenSUSE 15.1

So installieren Sie Nginx, MySQL und PHP (LEMP) auf einem Ubuntu 15.04-Server