我有一个使用 envoyer 进行部署的站点。
在我的网站上,用户可以保存图像/头像/等。这些图像被保存到 laravel 的公共路径中。/public/uploads/
这样做的问题是,当我部署更新时,composer 不会将新文件保存在/public/uploads
新的发布文件夹中。
每次推送新部署时,是否编写一个部署脚本,将当前版本中 /public/uploads 中的所有内容复制到新版本中?
我有一个使用 envoyer 进行部署的站点。
在我的网站上,用户可以保存图像/头像/等。这些图像被保存到 laravel 的公共路径中。/public/uploads/
这样做的问题是,当我部署更新时,composer 不会将新文件保存在/public/uploads
新的发布文件夹中。
每次推送新部署时,是否编写一个部署脚本,将当前版本中 /public/uploads 中的所有内容复制到新版本中?
不要将它们存放在 中public/uploads
,将它们存放在 中storage/uploads
。符号链接storage/uploads
到项目并将其完全/public/uploads
移出storage/uploads
到它自己的目录中。然后符号链接/storage/uploads
到您自己的/storage/uploads
,如下所示:
ln -s /home/forge/storage/example.com/uploads /home/forge/example.com/storage/uploads
ln -s /home/forge/example.com/storage/uploads /home/forge/example.com/public/uploads
确保位于 的新目录的/home/forge/storage/example.com/uploads
所有权与您对/home/forge/example.com
.
这将允许存储在设备上的持久性。确保将其symlinks
添加到部署过程的一部分,这样您就不会再在每次部署时丢失上传内容。