如何在Google App Engine中使用自定义运行时定义nginx root?

时间:2018-05-18 03:12:39

标签: google-app-engine nginx yaml

我使用Google App Engine Flex并需要使用自定义运行时,因此我可以安装一些第三方库。我需要将document_root定义为public',在使用自定义运行时时,只有runtime_configs似乎被忽略,所以这不起作用:

runtime_config:
   document_root: public

我还尝试在声明了root的nginx-app.conf文件中添加(我也不确定如何获取应用程序路径,所以我只是对其进行了硬编码):< / p>

root "/app/public";

但我收到错误:

  

nginx:[emerg]&#34; root&#34;指令在/etc/nginx/conf.d/nginx-app.conf:1

中是重复的

我还没有在文档中找到答案,所以对任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

Hello World example之后,您可以看到根文件nginx-app.conf

中的nginx配置文件中声明了根文件夹

首先,您必须正确配置Docker文件,该文件将创建公用文件夹并将本地计算机中的所有文件复制到该文件中:

FROM nginx

COPY nginx.conf /etc/nginx/nginx.conf

RUN mkdir -p /usr/share/nginx/public/

# Copy static files from local public folder
ADD public/ /usr/share/nginx/public/
RUN chmod -R a+r /usr/share/nginx/public

您必须在nginx-app.conf文件中定义该公用文件夹的路径:

http {
    server {
        root /usr/share/nginx/public;
    }
}