Erinevus lehekülje "PHP-FPM" redaktsioonide vahel
34. rida: | 34. rida: | ||
Nüüd võime tekitada kaks veebilehte, millest üks kasutab üht ja teine teist php versiooni | Nüüd võime tekitada kaks veebilehte, millest üks kasutab üht ja teine teist php versiooni | ||
− | Virtuaalhost 1 | + | Virtuaalhost 1 /etc/apache2/sites-available/php56.example.com.conf |
<VirtualHost *:80> | <VirtualHost *:80> | ||
50. rida: | 50. rida: | ||
</VirtualHost> | </VirtualHost> | ||
− | Ja virtuaalhost 2 | + | Ja virtuaalhost 2 /etc/apache2/sites-available/php72.example.com.conf |
<VirtualHost *:80> | <VirtualHost *:80> | ||
64. rida: | 64. rida: | ||
</FilesMatch> | </FilesMatch> | ||
</VirtualHost> | </VirtualHost> | ||
+ | |||
+ | Tekitame kaustad ning phpinfot väljastavad testfailid | ||
+ | |||
+ | sudo mkdir /var/www/php56 | ||
+ | sudo mkdir /var/www/php72 | ||
+ | echo "<?php phpinfo(); ?>" > /var/www/php56/index.php | ||
+ | echo "<?php phpinfo(); ?>" > /var/www/php72/index.php | ||
+ | sudo a2ensite php56.example.com | ||
+ | sudo a2ensite php72.example.com | ||
+ | sudo systemctl restart apache2 | ||
Pange tähele, et tõelise töö tegijaks on siin siis rida | Pange tähele, et tõelise töö tegijaks on siin siis rida |
Redaktsioon: 25. oktoober 2018, kell 02:12
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 /etc/apache2/sites-available/php56.example.com.conf
<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 /etc/apache2/sites-available/php72.example.com.conf
<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>
Tekitame kaustad ning phpinfot väljastavad testfailid
sudo mkdir /var/www/php56 sudo mkdir /var/www/php72 echo "<?php phpinfo(); ?>" > /var/www/php56/index.php echo "<?php phpinfo(); ?>" > /var/www/php72/index.php sudo a2ensite php56.example.com sudo a2ensite php72.example.com sudo systemctl restart apache2
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