Как определить корень nginx при использовании пользовательской среды выполнения в Google App Engine? - PullRequest
0 голосов
/ 18 мая 2018

Я использую Google App Engine Flex и мне нужно использовать пользовательскую среду выполнения, чтобы я мог установить некоторые сторонние библиотеки.Мне нужно определить document_root как 'public', только runtime_configs, похоже, игнорируется при использовании пользовательской среды выполнения, поэтому это не работает:

runtime_config:
   document_root: public

Я также пытался добавить nginx-app.conf файл с объявленным рутом (я также не уверен, как получить путь к приложению, поэтому я просто жестко запрограммировал его):

root "/app/public";

Но я получаю ошибку:

nginx: [emerg] директива root является дубликатом в /etc/nginx/conf.d/nginx-app.conf:1

Я не смог найтиответ на это в документации, поэтому любая помощь приветствуется!

1 Ответ

0 голосов
/ 04 июня 2018

Следуя этому примеру Hello World , вы можете видеть, что корневая папка объявлена ​​в файле конфигурации nginx в вашем случае nginx-app.conf

Прежде всего вы должны правильно настроить 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;
    }
}
...