Как связать nginx в главной системе и php-fpm в докере?

Есть php-fpm в докере, пробрасывается на порт 9003
docker run -p 127.0.0.1:9003:9000 .........
Как написать конфиг в nginx который находится в основной системе, чтобы всё работало?
Пробую так, не получается
server {
        server_name site.local;
        listen 80;
        location ~ .php$ { 
            fastcgi_pass  127.0.0.1:9003;
            fastcgi_index index.php;

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      /home/docker;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

            fastcgi_param SCRIPT_FILENAME /home/docker$fastcgi_script_name; 
        }
    }
  • Вопрос задан
  • 488 просмотров
Решения вопроса 1
@Nc_Soft Автор вопроса
В конфиге php-fpm надо писать
listen = 9000
вместо
listen = 127.0.0.1:9000
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lxfr
@lxfr
По хорошему nginx тоже должен являться docker контейнером, а не работать на хост-машине. И вообще все ваши сервера должны быть описаны именно как контейнеры и слинкованы соотвественно чтобы видеть друг друга (тем кому это надо), тут у вас возникает проблема как направить такой-то домен на некий 53452 порт некоего nginx, но и для этого сущестует nginx-proxy открытый с 80 портом наружу хост машины.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы