У меня есть следующая структура
/var/www/lsl/generalmedia
subcontent1/
picture.jpg
subcontent2/
subsub1/
picture.jpg
subsub2/
index.php
Доступно через website.com/lsl/generalmedia
Я бы хотел, чтобы подкаталоги использовали то же самое index.php, но обслуживайте файлы в обычном режиме. php7.0-mysql, и я поднял 2 службы, но Nginx распознает только PHP 5.6. Если я остановлю службу, я получаю сообщение об ошибке 502 Bad ...
Я пытаюсь обновить PHP 5.6 до PHP 7.3
Я установил:
php7.0-fpm
php7.0- mysql
, и я поднял 2 службы, но Nginx распознает только PHP 5.6. Если я остановлю службу, я получаю сообщение об ошибке 502 Bad Gateway
.
Я изменил в / etc / nginx / sites-enabled / default
строку / var /run/php5-fpm.sock
до /var/run/php/php7.0-fpm.sock
Проблема в том, что у меня есть конфигурация в каждом субдомене, и каждый субдомен использует свой собственный сокет :
fastcgi_pass unix:/var/run/php/subdomain1.sock;
fastcgi_pass unix:/var/run/php/subdomain2.sock;
...
Итак, я не знаю, как указать nginx использовать PHP 7. 3
Похоже, вы установили несколько версий PHP из репозитория PHP Ондржея Сури. Пакеты PHP из этого репозитория могут запускаться одновременно, и поэтому все они должны создавать свой собственный файл сокета, который вы можете использовать в конфигурации своего веб-сервера (nginx).
По умолчанию сокет PHP 7.3 должен быть установлен в папке / var / run / php / php7.3-fpm.sock
. Учитывая, что:
php7.3-Служба fpm
успешно запущена www-data
) У вас должна быть возможность перенаправлять запросы PHP для желаемых (под ) в сокет PHP 7.3 со строкой:
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
Итак, ваша общая конфигурация vhost nginx должна выглядеть примерно так:
server {
server_name some.domain.example.com;
listen 80;
listen 443 ssl;
ssl_certificate /etc/ssl/certs/subdomain.crt;
ssl_certificate_key /etc/ssl/certs/subdomain.key;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}