3

我在本地安装了 laravel Sai (mac os),它运行良好。

当我尝试在 digitalocean 中部署它时,我遇到了无限的权限错误。

所以,我通过 digitalocean 创建了一个新的液滴,上面安装了 docker

(市场应用程序 -> docker -> [版本19.03.12,操作系统Ubuntu 20.04]),

这就是我所做的

1 - 在终端〜目录中,我运行了curl -s https://laravel.build/example-app | bash,它按预期安装了所有东西。

2 - 我创建了一个别名alias sail='./vendor/bin/sail'

3 - 完成后,我进入“example-app”目录并运行命令sail up -d,它工作正常,所有进程和服务都启动并运行。

4 - 去 brawser 并尝试通过 IP 打开网站,我收到此错误流或文件“/var/www/html/storage/logs/laravel.log”无法以附加模式打开:失败打开流:权限被拒绝

我试图运行sail composer update,我得到了这个错误file_put_contents(/var/www/html/vendor/composer/installed.json): Failed to open stream: Permission denied

让它工作的唯一方法是运行chmod -R 777 example-app 我知道这是不对的,所以我需要帮助以使其以最佳和正确的方式工作

4

1 回答 1

0

正确的方法是让代码归正确的用户和组所有。您可以将用户和组分别作为WWWUSERWWWGROUP 放在 .env中。然后,如果需要,chown请在您的容器中使用以授予该用户所有权。例如

chown -R <wwwuser>:<wwwgroup> /var/www/html

https://github.com/laravel/sail/blob/1.x/stubs/docker-compose.stub#L21


请注意,风帆不适用于生产

于 2022-02-17T10:34:16.130 回答