Nginx + php7.0-fpm + php5.6-fpm + MySQL + phpmyadmin на Debian 9
В данном топике рассмотрим как на Debian 9 одновременно запускать сайты на версиях php7.0 и php5.6
1. Установка Nginx + php7.0-fpm + MySQL + phpmyadmin
По умолчанию в системе Debian 9 устанавливается версия php7.0, установить эту php версию вместе с вебсервером nginx и сервером БД MariaDB можно выполнив команду:
В процессе установки phpmyadmin будет предложено установить вебсервер Apache или Lighttpd, не выбирайте их установку так как мы ставим nginx.
2. Установка php5.6-fpm на Debian 9
Для установки php5.6-fpm необходимо добавить в систему репозиторий со старой версией php5.6
Добавляем репозиторий, ключ а так же поддержку https для менеджера пакетов apt командами:
Устанавливаем php5.6-fpm командой:
Проверяем что в системе запущено две службы php а именно php7.0-fpm и php5.6-fpm
Вывод команды: pstree | grep php
|-php-fpm5.6---2*[php-fpm5.6]
|-php-fpm7.0---2*[php-fpm7.0]
3. Конфигурация вебсервера Nginx для проверки php7.0-fpm и php5.6-fpm на Linux Debian 9
Редактируем конфигурационный файл Nginx по умолчанию /etc/nginx/sites-enabled/default и приводим его к виду:
Рестарт nginx и последующая проверка версий php:
4. Проверка работы разных версий php.
Добавим файл phpinfo.php в директории /var/www/html (по умолчанию у нас будет работать php7.0, сокет /var/run/php/php7.0-fpm.sock), для директории /var/www/php5/ подключим версию php5.6 (сокет /var/run/php/php5.6-fpm.sock) с содержимым:
В последующем для разных доменов можно подключать нужную версию php используя разные обработчики php а именно:
Итог:
Версия php 5.6
Версия php 7.0
В консоли сервера так же можно использовать разные версии php, например вывод файла phpinfo.php в консоли можно сделать командами:
проверив параметры настроек разных весий php.
1. Установка Nginx + php7.0-fpm + MySQL + phpmyadmin
По умолчанию в системе Debian 9 устанавливается версия php7.0, установить эту php версию вместе с вебсервером nginx и сервером БД MariaDB можно выполнив команду:
apt-get update && apt-get install nginx php7.0-fpm php7.0-mysql mysql-server phpmyadmin -y
В процессе установки phpmyadmin будет предложено установить вебсервер Apache или Lighttpd, не выбирайте их установку так как мы ставим nginx.
2. Установка php5.6-fpm на Debian 9
Для установки php5.6-fpm необходимо добавить в систему репозиторий со старой версией php5.6
Добавляем репозиторий, ключ а так же поддержку https для менеджера пакетов apt командами:
echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
apt install ca-certificates apt-transport-https
Устанавливаем php5.6-fpm командой:
apt-get update | apt-get install php5.6-fpm php5.6-mysql
Проверяем что в системе запущено две службы php а именно php7.0-fpm и php5.6-fpm
Вывод команды: pstree | grep php
|-php-fpm5.6---2*[php-fpm5.6]
|-php-fpm7.0---2*[php-fpm7.0]
3. Конфигурация вебсервера Nginx для проверки php7.0-fpm и php5.6-fpm на Linux Debian 9
Редактируем конфигурационный файл Nginx по умолчанию /etc/nginx/sites-enabled/default и приводим его к виду:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name 185.220.35.135;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
location /php5/ {
alias /var/www/php5/;
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_INFO $fastcgi_script_name;
}
}
location ~ /\.ht {
deny all;
}
location /phpmyadmin/ {
alias /usr/share/phpmyadmin/;
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param PATH_INFO $fastcgi_script_name;
}
}
}
Рестарт nginx и последующая проверка версий php:
/etc/init.d/nginx restart
4. Проверка работы разных версий php.
Добавим файл phpinfo.php в директории /var/www/html (по умолчанию у нас будет работать php7.0, сокет /var/run/php/php7.0-fpm.sock), для директории /var/www/php5/ подключим версию php5.6 (сокет /var/run/php/php5.6-fpm.sock) с содержимым:
<?php
phpinfo();
?>
В последующем для разных доменов можно подключать нужную версию php используя разные обработчики php а именно:
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
или
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
Итог:
Версия php 5.6
Версия php 7.0
В консоли сервера так же можно использовать разные версии php, например вывод файла phpinfo.php в консоли можно сделать командами:
php5.6 /var/www/html/phpinfo.php | more
и
php7.0 /var/www/html/phpinfo.php | more
проверив параметры настроек разных весий php.
- 0
- 13 мая 2019, 11:20
- GreatAlex
Комментарии (0)
RSS свернуть / развернуть