簡體   English   中英

如何在Dokku實例中為Nginx啟用gzip?

[英]How to enable gzip for nginx within a Dokku instance?

我在DigitalOcean Droplet上使用Dokku (版本0.11.6)部署了一個node.js應用程序。 我需要在Nginx中啟用gzip,但我發現文檔令人困惑。 它指出:

Dokku使用名稱為sigil的模板庫為每個應用程序生成nginx> configuration。 您還可以為您的應用程序提供自定義模板,如下所示:

將以下示例模板復制到名為nginx.conf.sigil的文件,然后>

  • 如果使用buildpack應用程序,則必須將其檢入應用程序庫的根目錄。
  • ADD到您的dockerfile WORKDIR
  • 如果您的dockerfile沒有WORKDIR ,請將其ADD/app文件夾

我使用的是默認設置的Dokku (按原樣) ,並且從未添加過buildpack或dockerfile,因此這些說明對我而言沒有太大意義。 我想知道的是:

  • 是否可以創建一個部分Nginx配置文件,我可以將該文件包含在每次部署應用程序時都會應用的源存儲庫的根目錄中?

  • 如果沒有,如何修改nginx配置以確保它在部署之間仍然存在?

  • 如果必須在外部進行配置,您將如何在項目中包含一些參考以供將來參考?

任何提示將非常感謝!

感謝通過Twitter的Peter Nikolow和通過Zoom呼叫的Alex Ellis ,解決方案是修改整個服務器的主要nginx配置文件,因為它不需要為每個站點啟用gzip。

這些步驟是:

  1. 噓成你的小滴的根
  2. 運行nano /etc/nginx/nginx.conf編輯根nano /etc/nginx/nginx.conf配置文件
  3. http塊中,添加以下內容:
gzip on;
gzip_min_length 1000;
gzip_buffers 4 32k;
gzip_proxied any;
gzip_vary on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
  1. 通過在其他gzip配置前面添加#來注釋掉它們
  2. cmd+x退出編輯,然后按Y保存更改
  3. 運行nginx -t -c /etc/nginx/nginx.conf以測試新配置
  4. 運行sudo systemctl daemon-reload
  5. sudo systemctl restart nginx重新啟動nginx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM