几度崩溃, docker 下配置的 nginx 无论如何也连不上 gunicorn, 希望有经验的朋友指点以下,刚接触 docker - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
canadahetian
V2EX    Linux

几度崩溃, docker 下配置的 nginx 无论如何也连不上 gnicorn, 希望有经验的朋友指点以下,刚接触 docker

  •  
  •   canadahetian 2020-04-08 23:11:46 +08:00 3755 次点击
    这是一个创建于 2018 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先贴一下 nginx 错误日志
    nginx error.log 的错误日志
    2020/04/08 15:00:15 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 82.223.16.212, server: www.cakevin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "52.60.58.127"
    2020/04/08 15:03:20 [error] 6#6: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 99.254.94.66, server: www.cakevin.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "cakevin.com"
    2020/04/08 15:03:21 [error] 6#6: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 99.254.94.66, server: www.cakevin.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:8000/favicon.ico", host: "cakevin.com", referrer: "http://cakevin.com/"


    目前用 IP:8000 端口可以访问,登录,就是没有样式,静态文件没有被找到,
    cakevin.com:80 访问报 502
    用 ip:80 无法访问此网站 拒绝了我们的连接请求。
    Django setting 测试设置的 ALLOWED_HOSTS = ['*'] 应该不是这个问题


    容器信息
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    8ccc02234bc5 cakevin_nginx "nginx -g 'daemon of…" 10 seconds ago Up 7 seconds 0.0.0.0:80->80/tcp cakevin_nginx_1
    22b222635f17 cakevin:1.1 "bash start.sh" 12 seconds ago Up 10 seconds 0.0.0.0:8000->8000/tcp cakevin_cakevin_1
    d95336fabb61 mysql:5 "docker-entrypoint.s…" 13 seconds ago Up 11 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp cakevin_db_1

    我的 docker-compose.yml 配置如下:
    version: "3"

    services:

    db:
    image: mysql:5
    environment:
    - MYSQL_HOST=localhost
    - MYSQL_DATABASE=cakevin
    - MYSQL_ROOT_PASSWORD=111111
    ports:
    - 3306:3306
    restart: always

    cakevin:
    image: cakevin:1.1
    ports:
    - "8000:8000"
    volumes:
    - /home/cakevin:/cakevin
    links:
    - db
    depends_on:
    - db
    command: bash start.sh
    restart: always


    nginx:
    build:
    context: .
    dockerfile: dockerfile_nginx
    ports:
    - "80:80"
    volumes:
    - /home/cakevin/static:/usr/share/nginx/html/static
    - /home/nginx/logs:/var/log/nginx
    - /home/nginx/conf.d:/etc/nginx/conf.d
    links:
    - cakevin
    depends_on:
    - cakevin
    restart: always


    dockerfile_nginx 的配置如下
    FROM nginx
    EXPOSE 80
    RUN apt-get upgrade && apt-get update && apt-get -y install vim
    RUN mkdir -p /usr/share/nginx/html/static


    nginx 的 conf.d 里的配置文件是
    server {
    listen 80;
    server_name cakevin.com;

    location /static {
    alias /usr/share/nginx/html/static;
    }

    location / {
    proxy_set_header Host $host;
    proxy_pass http://0.0.0.0:8000;
    proxy_redirect off;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    }

    请大家帮忙给看一下,刚接触 docker,有点晕,已经搜索了 1 天了,国内外全部找遍了,没有找到解决方法
    10 条回复    2020-04-10 16:48:07 +08:00
    momocraft
        1
    momocraft  
       2020-04-08 23:25:10 +08:00   1
    proxy_pass 是 localhost 是不是不对? 不应该是 cakevin 什么吗?
    canadahetian
        2
    canadahetian  
    OP
       2020-04-09 04:01:07 +08:00
    @momocraft
    感谢,我把
    proxy_pass http://0.0.0.0:8000;
    改为
    proxy_pass http://cakevin:8000;
    就搞定 le ,感谢,感谢!!!!!!!
    ericgui
        3
    ericgui  
       2020-04-09 07:54:03 +08:00
    @canadahetian 为了防止你连不上数据库,你连数据库的时候不要写 localhost:3306 了,应该是 db:3306

    到底是一样的

    你可以理解为 docker 给这些 service 分配了“域名”,他们就是你写在 services 下的每个 service 的名字
    ericgui
        4
    ericgui  
       2020-04-09 07:54:22 +08:00
    “道理是一样”,写错字,typo,sorry
    image72
        5
    image72  
       2020-04-09 08:18:34 +08:00
    设置这些应用都使用同一个 network 肯定没问题
    stefanaka
        6
    stefanaka  
       2020-04-09 09:03:55 +08:00 via Android
    为啥写 0.0.0.0
    canadahetian
        7
    canadahetian  
    OP
       2020-04-09 12:03:19 +08:00 via iPhone
    @ericgui 太谢谢谢了,真的是感谢,我发现这个平台的人真好。祝一生幸福
    canadahetian
        8
    canadahetian  
    OP
       2020-04-09 12:04:22 +08:00 via iPhone
    @image72 感谢感谢,已经解决
    canadahetian
        9
    canadahetian  
    OP
       2020-04-09 12:04:52 +08:00 via iPhone
    @nieqibest 已经改了,感谢
    Sunbridger
        10
    Sunbridger  
       2020-04-10 16:48:07 +08:00
    1
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2482 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:13 PVG 19:13 LAX 04:13 JFK 07:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86