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

时间:2014-08-27 14:27:19

标签: nginx dokku

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

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

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

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

1 个答案:

答案 0 :(得分:7)

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

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

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

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

  include /home/dokku/{site-name}/nginx.conf.d/*.conf;

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

因此,您可以将名为upload.conf的文件(例如)添加到仅包含nginx.conf.d的{​​{1}}文件夹中,您将实现您想要的目标。

创建目录和配置文件后,请确保client_max_body_size 50M;用户chown

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