Как заставить nginx выполнять php-код в html файлах ?

Есть сервер nginx и php5-fpm в качестве fastcgi-бэкенда.
Необходимо настроить эту связку на выполнение php-кода из .html (.htm, .phtml) файлов.

Исходные данные: Debian 8.9 (jessie), nginx 1.13.5, php5-fpm 5.6.30

Необходимо выполнить ряд шагов:

1. nginx должен передавать html-файлы fastcgi-бэкенду. Для этого нужно изменить location, где прописана обработка php-файлов, либо добавить новый location:

Например, файл /etc/nginx/sites-available/mysite.ru.vhost приводим к виду:

        listen XX.XX.XX.XX:80;
        server_name mysite.ru;

        index index.php index.html index.htm index.phtml;

        set $fastcgipass unix:/var/lib/php5-fpm/web1.sock;
        
        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ \.(php|htm|html|phtml)$ {
                try_files       $uri = 404;
                include         /etc/nginx/fastcgi_params;
                fastcgi_pass    $fastcgipass;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

Обратите внимание на location ~ \.(php|htm|html|phtml)$

2. php5-fpm по-умолчанию отказывается обрабатывать файлы оканчивающиеся не на .php
Чтобы это исправить нужно в файле /etc/php5/php-fpm.conf (или же в файле конфигурации вашего пула, если у вас есть деление на пулы) добавить строку security.limit_extensions.

Например в файле пула /etc/php5/fpm/pool.d/web1.conf

[web1]
listen = /var/lib/php5-fpm/web1.sock
...
security.limit_extensions = .php .html .htm .phtml
...

P.S. Если используется панель хостинга ISPConfig, то файл пула необходимо защитить от изменений иначе панель его перезапишет и наши настройки потеряются, для защиты поставим аттрибут immutable на файл:

chattr +i /etc/php5/fpm/pool.d/web1.conf