當前位置:股票大全官網 - 財經新聞 - Nextcloud會提前生成縮略圖。

Nextcloud會提前生成縮略圖。

默認情況下,nextcloud不會提前為存儲的圖片生成縮略圖。只有當我們在網頁或客戶端訪問相應的圖片時,我們才會在服務器上生成它們。

這種按需生成的策略在壹定程度上節省了服務器空間,但問題是如果當前目錄下的圖片很多,比如幾百張照片,而cpu的性能不好,比如我的舊筆記本,妳會發現圖片的縮略圖加載非常慢,比如如下:

這個時候不是因為網絡。打開服務器上的netdata頁面,您可以看到cpu已經超出圖表範圍。

雖然說縮略圖會在服務器上緩存壹次,下次不需要重新生成,但是如果照片很多,上傳後第壹次訪問的目錄總會很多。

如果妳偶爾需要在nextcloud上翻找老照片回憶,這個時候如果還原圖加載太慢,肯定會影響回憶的心情。

經過壹番搜索,發現nextcloud有壹個預生成收縮圖的插件:預覽生成器。

app store裏的介紹並沒有描述如何使用。具體文檔可以去github查:/rulzer/previewgenerator。

根據文檔,安裝方法實際上非常簡單:

第壹步,在應用市場安裝插件。

第二步是啟用插件。

第三步是指插件安裝後,手動觸發生成所有圖片的縮小圖。

這裏需要註意的是,因為我在k3s集群中用docker部署了nextcloud。如果需要執行occ命令,選擇進入容器聽起來是個不錯的選擇,但是這個命令需要以www-data的用戶身份執行,www-data設置為禁止登錄的用戶。因此,如果在容器內直接執行su-l www-dataphcoccupreview:generate-all命令,將會得到壹個錯誤。

解決方法是直接ssh到主機,然後執行docker exec-user www-data container _ id PHP OCC預覽:generate-all。被掃描的目錄將被打印到標準輸出。

同時收縮圖會保存在/var/www/html/data/appdata _ OCC 3 eu 1 bw2 q 6 #/preview目錄下。

通過命令watch -n 1 du -m -d 1,我們可以看到預覽目錄的大小壹直在增長,說明縮略圖在不斷生成。

同時可以看到cpu使用率穩定在50%左右。相對於默認的按需生成和直接cpu滿負荷,這個插件只利用空閑cpu的計算能力,還是比較合適的。即使服務器上有其他服務,也不用太擔心會受到影響。

上傳新圖片時,這個插件不會自動觸發。說白了,這個插件只是給我們提供了壹個需要我們自己調用的命令,所以我們可以將這個命令添加到調度任務中,每隔壹段時間自動運行壹次。

我之前添加計劃任務的時候,壹直失敗,沒有觸發。我沒看出為什麽。

理論上,只需添加壹個/usr/local/bin/PHP OCC預覽:預生成。