我在heroku上有一個node.js應用程序,它將圖像保存在public/productimages文件夾中。但每次我推新代碼時,所有以前的圖像都會被刪除。我在.gitignore文件中添加了productimages,但沒有用。我的本地計算機中的public/productimages是空的。爲什麼部署後Git覆蓋服務器上的文件?
3
A
回答
7
您不允許在Heroku上使用文件系統永久存儲。
原因是每次Heroku啓動你的應用程序時,它都會在一個全新的臨時目錄中啓動它。 Heroku每次關閉應用程序時,都會刪除應用程序之前運行的臨時目錄。Heroku每晚都會執行此操作,每當您每次更改配置變量時,每當您更改插件時,每當您增加或減少dynos的數量等。
您必須使用外部服務,如PostgreSQL數據庫或S3,用於存儲您可能想要存儲的任何內容。
+0
謝謝,以前不知道 – user925957
0
雲計算的基本前提:存儲不是永久存在的,除非明確提出。
未使用Heroku,但我相信如果您的文件不是版本化的並且可以從您的回購庫中獲取,則不會保留它們。
相關問題
- 1. 爲什麼git-ftp不會覆蓋ftp服務器上的文件?
- 2. 覆蓋服務器上的.htaccess文件
- 3. 在Glassfish服務器上部署時,什麼是Web服務URL?
- 4. 如何用git push覆蓋,覆蓋對git服務器的更改?
- 5. 爲什麼我的文件被覆蓋?
- 6. 用Git部署到我的服務器
- 7. 從覆蓋率服務器提取覆蓋率.csv文件
- 8. 防止在部署時覆蓋文件?
- 9. 推到部署服務器時,爲什麼我的git回購拋出錯誤?
- 10. ASPNETCORE_ENVIRONMENT覆蓋部署
- 11. 覆蓋服務器上的php.ini
- 12. 爲什麼文件被覆蓋?
- 13. 將git repo部署到「production」服務器
- 14. 如何覆蓋服務器上的文件
- 15. 用PHP.ini文件覆蓋服務器上的PHP版本
- 16. 將單個文件git部署到服務器
- 17. 如何在從表單上載文件時覆蓋服務器上的文件?
- 18. 在/ var/www/vhosts上用git pull在web服務器上部署
- 19. 用git覆蓋文件夾
- 20. 的Groovy +蓋布+斯波克部署Windows服務器上
- 21. 爲什麼頁面樣式被外部CSS文件覆蓋?
- 22. 覆蓋圖像上的文本並上傳到服務器
- 23. 在nodejs的部署服務器上使用init git
- 24. 重新部署服務器後的ViewScoped
- 25. 覆蓋部署maven版本庫部署
- 26. JBoss部署覆蓋 - 嵌套部署
- 27. 「覆蓋」Java中的主服務器有什麼用處?
- 28. 覆蓋生產服務器上爲DITA XML文件定義的樣式
- 29. 如何在服務器上部署/上傳JSP文件
- 30. 的Git - SSH服務器 - 文件不上服務器
你怎麼推*? – arnaud576875
你爲什麼推?在這種情況下是不是更好? –
懷疑他在Git的意義上並不是「推」,而是使用Heroku的寶石來部署 – meagar