Erinevus lehekülje "PHP-FPM" redaktsioonide vahel

Allikas: Kuutõrvaja
(Uus lehekülg: 'PHP-FPM on lihtne ja robustne FastCGI protsessihaldur mis loodud php jaoks. Selle abil on võimalik üsna lihtsalt seadistada erinevatele apache või nginxi virtualhostidele erin...')
 
1. rida: 1. rida:
 
PHP-FPM on lihtne ja robustne FastCGI protsessihaldur mis loodud php jaoks. Selle abil on võimalik üsna lihtsalt seadistada erinevatele apache või nginxi virtualhostidele erinevaid php versioone.
 
PHP-FPM on lihtne ja robustne FastCGI protsessihaldur mis loodud php jaoks. Selle abil on võimalik üsna lihtsalt seadistada erinevatele apache või nginxi virtualhostidele erinevaid php versioone.
 +
 +
Paigaldamine Debianis
 +
 +
Paigaldame php5.6 ja 7.2 versioonid ja fpm pakid
 +
 +
sudo apt install php5.6 php5.6-fpm
 +
sudo apt install php7.2 php7.2-fpm
 +
 +
Lisame php'dele mõned olulisemad moodulid
 +
 +
sudo apt-get install php5.6-cli php5.6-mysql php5.6-gd php5.6-recode php5.6-tidy php5.6-xmlrpc php5.6-opcache php5.6-mbstring
 +
sudo apt-get install php7.2-cli php7.2-mysql php7.2-gd php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-opcache php7.2-mbstring
 +
 +
Paigaldamise järel käivituvad fastcgi deemonid automaatselt, saame seda kontrollida järgneva käsuga
 +
 +
# sudo systemctl status php5.6-fpm
 +
  php5.6-fpm.service - The PHP 5.6 FastCGI Process Manager
 +
    Loaded: loaded (/lib/systemd/system/php5.6-fpm.service; enabled; vendor preset: enabled)
 +
    Active: active (running) since Wed 2018-10-17 23:16:42 CEST; 1min 54s ago
 +
      Docs: man:php-fpm5.6(8)
 +
  Main PID: 30782 (php-fpm5.6)
 +
    Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
 +
    CGroup: /system.slice/php5.6-fpm.service
 +
            ??30782 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf)
 +
            ??30783 php-fpm: pool www
 +
            ??30784 php-fpm: pool www
 +
 +
Seejärel lisame ka apachele fastcgi toe
 +
 +
# apt install apache2 libapache2-mod-fcgid
 +
# a2enmod proxy_fcgi setenvif
 +
 +
Nüüd võime tekitada kaks veebilehte, millest üks kasutab üht ja teine teist php versiooni
 +
 +
Virtuaalhost 1
 +
 +
<VirtualHost *:80>
 +
    ServerName php56.example.com
 +
    DocumentRoot /var/www/php56
 +
    <Directory /var/www/php56>
 +
        Options -Indexes +FollowSymLinks +MultiViews
 +
        AllowOverride All
 +
        Require all granted
 +
    </Directory>
 +
    <FilesMatch \.php$>
 +
        # Apache 2.4.10+ can proxy to unix socket
 +
        SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
 +
    </FilesMatch>
 +
</VirtualHost>
 +
 +
Ja virtuaalhost 2
 +
 +
<VirtualHost *:80>
 +
    ServerName php72.example.com
 +
    DocumentRoot /var/www/php72
 +
    <Directory /var/www/php72>
 +
        Options -Indexes +FollowSymLinks +MultiViews
 +
        AllowOverride All
 +
        Require all granted
 +
    </Directory>
 +
    <FilesMatch \.php$>
 +
        SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
 +
    </FilesMatch>
 +
</VirtualHost>
 +
 +
Pange tähele, et tõelise töö tegijaks on siin siis rida
 +
 +
SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
 +
 +
Mis antud juhul proxyib kõik php laiendiga failid fastcgi serveri soketile

Redaktsioon: 25. oktoober 2018, kell 02:10

PHP-FPM on lihtne ja robustne FastCGI protsessihaldur mis loodud php jaoks. Selle abil on võimalik üsna lihtsalt seadistada erinevatele apache või nginxi virtualhostidele erinevaid php versioone.

Paigaldamine Debianis

Paigaldame php5.6 ja 7.2 versioonid ja fpm pakid

sudo apt install php5.6 php5.6-fpm
sudo apt install php7.2 php7.2-fpm

Lisame php'dele mõned olulisemad moodulid

sudo apt-get install php5.6-cli php5.6-mysql php5.6-gd php5.6-recode php5.6-tidy php5.6-xmlrpc php5.6-opcache php5.6-mbstring
sudo apt-get install php7.2-cli php7.2-mysql php7.2-gd php7.2-recode php7.2-tidy php7.2-xmlrpc php7.2-opcache php7.2-mbstring

Paigaldamise järel käivituvad fastcgi deemonid automaatselt, saame seda kontrollida järgneva käsuga

# sudo systemctl status php5.6-fpm
  php5.6-fpm.service - The PHP 5.6 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php5.6-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-10-17 23:16:42 CEST; 1min 54s ago
     Docs: man:php-fpm5.6(8)
 Main PID: 30782 (php-fpm5.6)
   Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/php5.6-fpm.service
           ??30782 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf)
           ??30783 php-fpm: pool www
           ??30784 php-fpm: pool www

Seejärel lisame ka apachele fastcgi toe

# apt install apache2 libapache2-mod-fcgid
# a2enmod proxy_fcgi setenvif

Nüüd võime tekitada kaks veebilehte, millest üks kasutab üht ja teine teist php versiooni

Virtuaalhost 1

<VirtualHost *:80>
    ServerName php56.example.com
    DocumentRoot /var/www/php56
    <Directory /var/www/php56>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        # Apache 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

Ja virtuaalhost 2

<VirtualHost *:80>
    ServerName php72.example.com
    DocumentRoot /var/www/php72 
    <Directory /var/www/php72>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

Pange tähele, et tõelise töö tegijaks on siin siis rida

SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"

Mis antud juhul proxyib kõik php laiendiga failid fastcgi serveri soketile