Am nginx și php-fpm care rulează pe Docker. Când folosesc numele de gazdă al sistemului meu Docker (docker1.freekb.net), pagina phpinfo.php se afișează în browser, așa că știu că am nginx și php-fpm configurate corect pentru a servi pagini PHP. Aici este blocul serverului din /etc/nginx/conf.d/default.conf. Solicitările de la nginx pe portul 80 sunt transmise către PHP pe portul 9000.
Server {
asculta 80;
nume_server stage.freekb.net;
rădăcină /var/www/stage;
index index.html phpinfo.php;
Locație / {
try_files $uri $uri/ /index.html;
}
locație ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 0.0.0.0:9000;
fastcgi_index phpinfo.php;
include fastcgi_params;
}
}
Am configurat HAProxy pentru a redirecționa cereri către nginx. Iată blocul meu de ascultare în /etc/haproxy/haproxy.cfg. Cand merg la http://haproxy.freekb.net/index.html, este afișată pagina de întâmpinare nginx, așa că știu că HAProxy poate redirecționa cereri către nginx.
Totuși, când merg la http://haproxy.freekb.net/phpinfo.php, phpinfo.php este descărcat pe computerul meu local. Bănuiesc că acest lucru înseamnă că este ceva în neregulă cu fastcgi. Nu sunt sigur ce trebuie schimbat pentru ca paginile PHP să fie afișate în browser atunci când utilizați HAProxy.
ascultă nginx
lega *:80
modul tcp
echilibru roundrobin
server nginx1 docker1.freekb.net:80 verifica