GNU/Linux >> Znalost Linux >  >> Linux

Jak přidat podporu PHP-FPM na webový server Apache a Nginx na Ubuntu 18.04

Apache a Nginx jsou bezplatné, open-source a populární – nejpoužívanější webové servery po celém světě. Apache a Nginx běží na všech operačních systémech založených na Unixu. Apache je známý svou silou, zatímco Nginx je známý svou rychlostí. Nginx se také používá jako reverzní proxy pro HTTP, HTTPS, IMAP, SMTP, POP3 a jako nástroj pro vyrovnávání zatížení.

PHP-FPM (FastCGI Process Manager) je alternativní implementace PHP FastCGI speciálně navržená pro vysoce zatěžované webové stránky. PHP-FPM umožňuje spouštět více verzí PHP současně. PHP-FPM lze spustit jiným způsobem než mod_PHP na webovém serveru. Pokud hledáte hostování vaší webové aplikace s optimálním výkonem, pak je pro vás PHP-FPM tou nejlepší volbou.

V tomto tutoriálu vysvětlíme, jak povolit podporu PHP-FPM na webovém serveru Apache a Nginx na serveru Ubuntu 18.04.

Předpoklady

  • Nové Ubuntu 18.04 VPS na cloudové platformě Atlantic.Net.
  • Platný název domény nasměrovaný na vaši IP adresu VPS.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 18.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte na svůj server Ubuntu 18.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

apt-get update -y

Krok 2 – Povolte podporu PHP-FPM na webovém serveru Apache

V této části se naučíme, jak nainstalovat a povolit podporu PHP-FPM na webovém serveru Apache.

Nainstalujte Apache a PHP-FPM

Nejprve nainstalujte Apache a PHP-FPM spuštěním následujícího příkazu:

apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y

Jakmile jsou všechny balíčky nainstalovány, spusťte Apache a službu PHP-FPM následujícím příkazem:

systemctl start apache2
systemctl start php7.2-fpm

Konfigurace Apache s podporou PHP-FPM

Dále budete muset nakonfigurovat webový server Apache s podporou PHP-FPM. Chcete-li tak učinit, vytvořte nový konfigurační soubor virtuálního hostitele Apache:

nano /etc/apache2/sites-available/example.com.conf

Přidejte následující řádky:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/
     DirectoryIndex info.php
     ServerName example.com

     <Directory /var/www/html/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>

    <FilesMatch \.php$>
        # 2.4.10+ can proxy to unix socket
         SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
    </FilesMatch>

     ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
     CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

Uložte a zavřete soubor. Poté povolte konfigurační soubor virtuálního hostitele pomocí následujícího příkazu:

a2ensite example.com

Dále budete muset povolit několik modulů pro apache2 pro práci s PHP-FPM:

a2enmod actions fcgid alias proxy_fcgi

Dále restartujte službu Apache pomocí následujícího příkazu:

systemctl restart apache2

Krok 3 – Otestujte webový server Apache

Webový server Apache je nyní nakonfigurován s podporou PHP-FPM. Je čas otestovat, zda je PHP-FPM načteno s webovým serverem Apache nebo ne.

Chcete-li to otestovat, vytvořte ukázkový soubor info.php v kořenovém adresáři dokumentu Apache:

nano /var/www/html/info.php

Přidejte následující řádky:

<?php
    phpinfo();
?>

Uložte a zavřete soubor a poté změňte vlastnictví souboru info.php na www-data:

chown www-data:www-data /var/www/html/info.php

Dále otevřete webový prohlížeč a zadejte adresu URL http://example.com . Měli byste vidět následující stránku:

Výše uvedená stránka ukazuje, že PHP-FPM je načteno s webovým serverem Apache.

Poznámka: Po testování nezapomeňte soubor info.php odstranit.

Krok 4 – Povolte podporu PHP-FPM na webovém serveru Nginx

V této části se naučíme, jak nainstalovat a povolit podporu PHP-FPM na webovém serveru Nginx.

Krok 5 – Nainstalujte Nginx a PHP-FPM

Nejprve nainstalujte Nginx a PHP-FPM spuštěním následujícího příkazu:

apt-get install nginx php php-fpm php-cli -y

Jakmile jsou všechny balíčky nainstalovány, spusťte Nginx a službu PHP-FPM pomocí následujícího příkazu:

systemctl start nginx
systemctl start php7.2-fpm

Krok 6 – Konfigurace Nginx s podporou PHP-FPM

Dále budete muset nakonfigurovat webový server Nginx s podporou PHP-FPM. Chcete-li tak učinit, vytvořte nový konfigurační soubor virtuálního hostitele Nginx:

nano /etc/nginx/sites-available/example.com.conf

Přidejte následující řádky:

server {
        listen 80;
        root /var/www/html/;
        index info.php;
        server_name example.com;

        location ~ \.php$ {
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
          fastcgi_index index.php;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_intercept_errors off;
          fastcgi_buffer_size 16k;
          fastcgi_buffers 4 16k;
          fastcgi_connect_timeout 600;
          fastcgi_send_timeout 600;
          fastcgi_read_timeout 600;
        }

   location / {
       try_files $uri $uri/ =404;
   }

}

Save and close the file. Then, enable the Nginx virtual host with the following command:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

Dále restartujte Nginx a službu PHP-FPM, abyste použili změny konfigurace:

systemctl restart nginx
systemctl restart php7.2-fpm

Krok 7 – Otestujte webový server Nginx

Webový server Nginx je nyní nakonfigurován s podporou PHP-FPM. Je čas otestovat, zda je PHP-FPM načteno s webovým serverem Nginx nebo ne.

Chcete-li to otestovat, vytvořte ukázkový soubor info.php v kořenovém adresáři dokumentu Nginx:

nano /var/www/html/info.php

Přidejte následující řádky:

<?php
    phpinfo();
?>

Uložte a zavřete soubor a poté změňte vlastnictví souboru info.php na www-data:

chown www-data:www-data /var/www/html/info.php

Dále otevřete webový prohlížeč a zadejte adresu URL http://example.com . Měli byste vidět následující stránku:

Výše uvedená stránka ukazuje, že PHP-FPM je načteno s webovým serverem Nginx.

Poznámka: Po testování nezapomeňte soubor info.php odstranit.

Závěr

Gratulujeme! Úspěšně jste nakonfigurovali webový server Nginx a Apache s podporou PHP-FPM. Doufám, že nyní máte dostatek znalostí, abyste mohli používat PHP-FPM ke spouštění více verzí PHP současně. Chcete-li začít s PHP-FPM na Apache a Nginx, zaregistrujte se ještě dnes k plánu hostování VPS s Atlantic.Net.


Linux
  1. Jak opravit zranitelnost DROWN na webovém serveru Apache/NGINX a SMTP?

  2. Jak nainstalovat webový server Apache na Ubuntu

  3. Jak nainstalovat a nakonfigurovat webový server Apache na Ubuntu 13.10

  1. Jak nainstalovat webový server Nginx na Ubuntu 18.04

  2. Jak odstranit webový server Apache z Ubuntu

  3. Jak zpevnit a zabezpečit webový server NGINX v Linuxu

  1. Jak nakonfigurovat Nginx jako webový server a reverzní proxy pro Apache na CentOS 8

  2. Jak povolit HTTP/2 na webovém serveru Apache na Ubuntu a Debianu

  3. Jak nainstalovat a nakonfigurovat webový server Apache na Ubuntu