У меня есть nginx и php-fpm, работающие на Docker. При использовании имени хоста моей системы Docker (docker1.freekb.net) страница phpinfo.php отображается в браузере, поэтому я знаю, что у меня правильно настроены nginx и php-fpm для обслуживания страниц PHP. Вот блок сервера в /etc/nginx/conf.d/default.conf. Запросы от nginx на порт 80 перенаправляются на PHP на порт 9000.
сервер {
слушать 80;
имя_сервера stage.freekb.net;
корень /var/www/стадия;
индекс index.html phpinfo.php;
место расположения / {
try_files $uri $uri//index.html;
}
расположение ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 0.0.0.0:9000;
fastcgi_index phpinfo.php;
включить fastcgi_params;
}
}
У меня есть настройка HAProxy для пересылки запросов на nginx. Вот мой блок прослушивания в /etc/haproxy/haproxy.cfg. Когда я иду в http://haproxy.freekb.net/index.html, отображается страница приветствия nginx, поэтому я знаю, что HAProxy может перенаправлять запросы на nginx.
Однако, когда я иду в http://haproxy.freekb.net/phpinfo.php, phpinfo.php загружается на мой локальный ПК. Я подозреваю, что это означает, что с fastcgi что-то не так. Я не уверен, что должно измениться, чтобы PHP-страницы отображались в браузере при использовании HAProxy.
слушать нгинкс
привязать *:80
режим TCP
круговой баланс
сервер nginx1 docker1.freekb.net:80 проверить