我在彈性beanstalk中託管了我的服務器端編碼。我使用multer上傳'upload'文件夾中的文件,這意味着使用api客戶端能夠將圖像或pdf等動態存儲在此「上傳」文件夾中。當我在ebs中託管.zip時,假設有3個文件存儲在uploads文件夾中。託管後添加更多文件。現在,如果我更改我的代碼並將我的代碼部署到ebs,則會創建空的上傳文件夾。如果我下載了以前的代碼,我只收到了託管時的3個文件。代碼託管後,我無法取回添加的文件。如何克服這一點?如何從AWS Elastic BeanStalk獲取更新的「上傳」文件夾?
0
A
回答
0
在ElasticBeanstalk上託管應用程序的第一條規則是您的代碼應該是無狀態的。無狀態,我的意思是它不應該依賴於機器,因爲根據縮放需求創建和關閉實例。
我所做的是做你說的一切,上傳它來上傳文件夾,但然後我將它存儲在S3(或者在某些情況下,如果實例終止,它是安全的)。所以基本上上傳文件夾只是一個臨時的位置。
動態創建的內容不應該是您的代碼庫的一部分。
無論何時您部署新版本,您都無法獲取丟失的數據,其中部署代碼的目錄將被刪除,並且新版本將被複制到那裏。我相信它的/var/app/current/
。
每當你想以應對未來的上傳,你應該遵循:
- 其上傳到實例的臨時目錄,
- 其上傳到某個地方是安全的(也許有點像AWS S3 ),
- 將安全存儲中的對象鏈接(S3鏈接)保存到數據庫中,以便您可以獲取上傳。
相關問題
- 1. AWS上的Git文件夾Elastic Beanstalk
- 2. AWS Elastic BeanStalk php.ini文件更新
- 3. AWS Cloudwatch:如何從AWS Elastic Beanstalk獲取自定義指標
- 4. AWS Elastic Beanstalk配置文件
- 5. AWS Elastic Beanstalk - 更改webapp文件夾的所有者
- 6. 在AWS Elastic Beanstalk上編輯php文件
- 7. 如何更新Elastic Beanstalk上的pg_dump
- 8. AWS上的Django Elastic Beanstalk manage.py
- 9. AWS Elastic Beanstalk上傳大量數據
- 10. AWS Elastic Beanstalk Git說「已經更新」
- 11. AWS + Elastic Beanstalk + MongoDB
- 12. 將現有的java WAR文件上傳到AWS Elastic Beanstalk
- 13. AWS AWS Elastic Beanstalk上的Scale Magento
- 14. 多Docker Elastic Beanstalk:上傳.ebextensions
- 15. 在AWS Elastic BeanStalk中更新/修補.war文件
- 16. AWS Elastic Beanstalk和SQS
- 17. AWS EB CLI(elastic beanstalk)
- 18. AWS Elastic Beanstalk問題
- 19. AWS elastic beanstalk + Nginx + Gunicorn
- 20. Node.js deploy - AWS Elastic Beanstalk
- 21. AWS Elastic Beanstalk和JAVA_OPTS
- 22. AWS Elastic Beanstalk和Composer
- 23. AWS Elastic Beanstalk緩存?
- 24. Laravel和AWS Elastic Beanstalk - 文件權限
- 25. 更新AWS上的當前版本Elastic Beanstalk
- 26. 在AWS Elastic Beanstalk中更改tomcat的JAVA_OPTS
- 27. 在AWS上的Docker中的Docker Elastic Beanstalk
- 28. AWS上的socket.io的Websockets Elastic Beanstalk
- 29. VCS上的Elastic Beanstalk .config文件?
- 30. Elastic Beanstalk靜態文件夾403錯誤