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

标签 nginx dokku

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

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

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

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

最佳答案

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

默认情况下,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文件夹,仅包含 client_max_body_size 50M; ,你就会实现你想做的事情。

创建目录和配置文件后,确保 chown他们到dokku用户。

https://github.com/dokku/dokku/blob/master/docs/configuration/nginx.md了解更多详情。

关于nginx - 如何在 Dokku 中为每个应用程序设置 nginx 配置设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529866/

相关文章:

docker - 从 SSH 重新启动 Dokku 应用程序的正确命令是什么?

dokku - 无法选择构建包

postgresql - 如何在 DigitalOcean 上将数据库从 heroku 导入到 Dokku?

ruby - Redmine 2.3、ruby 2.0.0、nginx 1.4.1 和 passenger 4.0.2 所有 HTTP POST 失败

node.js - 在没有 SSL 证书的情况下通过 Nginx 转发 HTTPS 流量

linux - 无法重新启动 NGINX 服务器

nginx - 找不到 Dokku 子域

elasticsearch - Dokku:如何在插件中更改Elasticsearch的版本

nginx - sqlite3无法打开数据库文件,运行Centos,flask uwsgi nginx

nginx - 用于视频流平台的开源 CMS 和服务器