Google App Engine 柔性环境中 nginx.conf 保存在哪里?

问题描述 投票:0回答:1

我收到 nginx.error:

客户打算发送太大的正文

所以我尝试通过更改 nginx.conf 来修复。这是在使用 Django 的 Google App Engine 中,并使用 Dockerfile 部署到灵活的环境。它执行gunicorn来启动应用程序。

我的 nginx.conf 文件与我的 app.yaml 文件位于同一目录中。

到目前为止,我已经尝试在启动gunicorn之前将nginx.conf复制到Dockerfile中的/etc/nginx/nginx.conf。
我尝试按照其他地方的建议命名文件 nginx-app.conf 。
我尝试注释掉整个 nginx.conf 文件以查看它是否正在使用。

在每种情况下,我都会收到“客户端打算发送太大的正文”错误。

灵活环境中 nginx.conf 位于何处?我可以更改它并将其复制到需要作为 Dockerfile 一部分的位置吗?

当前 Dockerfile:

    FROM ubuntu:bionic
    
    RUN apt-get -y update && apt-get -y upgrade \ ...
    RUN pip3 install virtualenv
    RUN virtualenv -p python3.8 env
    ENV VIRTUAL_ENV /env
    ENV PATH /env/bin:$PATH
    ADD requirements.txt /app/requirements.txt
    RUN pip install -r /app/requirements.txt
    ADD . /app
    WORKDIR /app    
    ENV PORT 8000
    EXPOSE 8000    
    COPY nginx.conf /etc/nginx/nginx.conf
    CMD exec gunicorn --workers 2 --threads 8 -b :$PORT mysite.wsgi:application

我当前的nginx.conf:

    events {
        worker_connections 768;
    }
    
    http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
    
        access_log /var/log/app_engine/app.log;
        error_log /var/log/app_engine/app.log;
    
        gzip on;
        gzip_disable "msie6";
    
        server {
            listen 8080; (have also tried 8080 ssl;)
            directio 4096;
            root /usr/share/nginx/www;
            index index.html index.htm;
            sendfile on;
            sendfile_max_chunk 1m;
            client_max_body_size 500M;
        }
    }

注意,我还在 Django 设置中增加了 FILE_UPLOAD_MAX_MEMORY_SIZE 和 DATA_UPLOAD_MAX_MEMORY_SIZE。

感谢您提供的任何帮助!

django docker nginx google-app-engine app-engine-flexible
1个回答
0
投票

DazWilkin 在评论中解决了。 App Engine 将请求限制为 32MB

谢谢达兹威尔金

© www.soinside.com 2019 - 2024. All rights reserved.