V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
caoyufei
V2EX  ›  问与答

docker nginx + PHP -fpm 502

  •  
  •   caoyufei · 2019-08-12 20:02:18 +08:00 · 1693 次点击
    这是一个创建于 1690 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • nginx
        try_files $uri =404;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    
    • nginx 没有 error log

    • php-fpm

        listen = 127.0.0.1:9000
        listen.backlog = -1
        listen.allowed_clients = 127.0.0.1
    
    docker run --name php -p 9000:9000 -v /xxx:/xxx -d php:v1
    docker run --name nginx -p 8080:80 -v /xxx:/xxx --link php:php -d nginx:v1
    

    访问 PHP 文件 502, 访问 HTML 正常

    这是哪配置有问题?还是?

    4 条回复    2019-08-12 20:42:12 +08:00
    eslizn
        1
    eslizn  
       2019-08-12 20:08:33 +08:00
    建议先看看 docker network 部分
    xupefei
        2
    xupefei  
       2019-08-12 20:14:11 +08:00   ❤️ 1
    每个 container 的 127.0.0.1 是独立的。
    你需要让两个容器运行在同一个 network 上,然后用 link 命令把 php 的 hostname 暴露给 nginx,然后让 php 监听 0.0.0.0:9000 并 expose 9000 ; nginx 连到 php:9000。
    boks
        3
    boks  
       2019-08-12 20:27:20 +08:00   ❤️ 1
    执行:docker inspect php | grep "IPAddress"
    得到的地址就是 nginx 配置的地址
    caoyufei
        4
    caoyufei  
    OP
       2019-08-12 20:42:12 +08:00
    @eslizn @xupefei @boks
    问题解决了
    thx!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3094 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:43 · PVG 20:43 · LAX 05:43 · JFK 08:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.