Nginx 502 bad gateway google cloud 运行网站大约需要 50 分钟然后开始工作

Nginx 502 bad gateway google cloud 运行网站大约需要 50 分钟然后开始工作

在本地测试时,docker 容器运行良好,但在云运行上部署后,我得到了502 bad gateway。它大约需要 50-60 分钟,然后无缘无故地开始工作....导致网站停机。已经研究了大约一周,但仍然无法弄清楚为什么会发生这种情况。

历史:

我之前部署过 Vuejs 静态构建,使用相同的后端,一切都运行良好...我最近将我的前端重写了 Nuxtjs,那时部署问题就开始了。

如何测试dockerfile构建:

按照谷歌的建议我使用:PORT=8080 && docker run -p 9090:${PORT} -e PORT=${PORT} myImage:latest 点击此处

Dock文件

# Alpine Deployment Server
FROM nginx:stable-alpine as alpine-server
# install necessary packages
....
# Start server
CMD pm2 start > pm2.log && \
    gunicorn -b 0.0.0.0:5000 --workers 1 --threads 8 --timeout 0 api:app --daemon && \
    gunicorn -b 0.0.0.0:5001 --workers 1 --threads 1 --timeout 0 extras:app --daemon && \
    nohup sh -c "scrapyrt -p 7000 -i 0.0.0.0" > /dev/null 2>&1 & \
    nginx -g 'daemon off;'

注意:Nuxt 还配置为在上午启动,0.0.0.0:3000用于pm2启动 Nuxt

NGINX 配置

server {
  listen 8080;
  server_name _;

  charset utf-8;

   location / {
    proxy_redirect                      off;
    proxy_set_header Host               $host;
    proxy_set_header X-Real-IP          $remote_addr;
    proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    ....
  }

  location ~^/api/v1/(.+)/search/(.+)$ {
    set $allowspace2 $2;
    proxy_pass          http://127.0.0.1:5000/api/v1/$1/search/$allowspace2;
    proxy_http_version  1.1;
    proxy_redirect      ~^/api/v1/(.+)/search/(.+)$ http://127.0.0.1:5000/api/v1/$1/search/$allowspace2;
    ....
  }

  location ~^/api/v1/(.+)/view/(.+)$ {
    set $allowspace2 $2;
    proxy_pass          http://127.0.0.1:5000/api/v1/$1/view/$allowspace2;
    proxy_http_version  1.1;
    proxy_redirect      ~^/api/v1/(.+)/view/(.+)$ http://127.0.0.1:5000/api/v1/$1/view/$allowspace2;
    ...
  }
  location ~^/extras/v1/(.+)/(.+)$ {
    set $allowspace2 $2;
    proxy_pass          http://127.0.0.1:5001/extras/v1/$1/$allowspace2;
    proxy_http_version  1.1;
    proxy_redirect      ~^/extras/v1/(.+)/(.+)$ http://127.0.0.1:5001/extras/v1/$1/$allowspace2;
   ....
  }
  ....

    gzip on;
    gzip_types      text/plain application/xml text/css application/javascript;
    gzip_comp_level 6;
    gzip_min_length 1000;
    gzip_proxied any;
    gzip_vary on;
}

在尝试导航到 url 时,云运行会记录什么错误502 bad Gateway

*13 connect() failed (111: Connection refused) while connecting to upstream,....

令我沮丧的是为什么?

  1. 为什么上游处于离线状态,首先启动所有服务,然后启动 NGINX。

  2. 为什么要花很长时间才最终开始。

  3. 为什么它只能在部署到云运行时在本地运行,这只是一个骗局。

我该如何解决这个问题?

答案1

更新

这个问题与 GCP 无关,在我遇到这个问题后终于解决了回答 just luck

相关内容