如何在Dokku中基于每个应用程序设置nginx配置设置?

fli*_*ird 5 nginx dokku

我需要增加client_max_body_size我在Dokku Paas上安装的单个应用程序的设置.我可以全局编辑nginx配置,但这很脆弱,我希望这个设置尽可能与app配置一起使用.

我见过一些帮助重写nginx.conf文件的插件(例如https://github.com/mikexstudios/dokku-nginx-alt),但是当我只想更改一个设置时,这似乎有些过分.

我也注意到nginx-configure插件钩子(https://github.com/progrium/dokku/pull/189),但我找不到如何从应用程序中使用它的明确说明(我将把钩子脚本放在哪里,因为例?).

在每个应用程序的基础上设置单个nginx配置参数的最干净,最易维护和最便携的方法是什么?

RYF*_*YFN 7

这个问题有点陈旧,但我在寻找同一问题的解决方案时遇到了它.

默认情况下,安装dokku站点/home/dokku/{site-name}.

nginx此文件夹中的每个应用程序都有一个主文件nginx.conf.每次部署时都会替换此文件,因此您不希望更改此文件.

但是,您将看到此主nginx.conf文件包含以下行 -

  include /home/dokku/{site-name}/nginx.conf.d/*.conf;
Run Code Online (Sandbox Code Playgroud)

其中包括文件nginx.conf.d夹中的任何.conf文件.

因此,您可以将一个名为upload.conf(例如)的nginx.conf.d文件添加到包含该文件夹的文件夹中,client_max_body_size 50M;您将实现您想要做的事情.

创建目录和配置文件后,请确保chown它们为dokku用户.

有关详细信息,请参阅https://github.com/dokku/dokku/blob/master/docs/nginx.md.