使用 vapor-ui 部署 Laravel vapor 项目会导致对服务的每个请求都以 502 响应
Deploying a Laravel vapor project with vapor-ui causes every request to the service to respond with a 502
问题:
每当我尝试向使用 Laravel Vapor 托管的 Laravel API 发出请求时,我都会收到 502。
当我在 Cloudwatch 中查看错误日志时,我看到了:
正如您在此处看到的,返回 502 是因为 bootstrap/cache 文件夹似乎存在权限问题,或者由于某种原因部署后该文件夹不存在。
我为解决此问题所做的工作:
- 我确保文件夹权限正确(缓存文件夹有 755,.git忽略 644)。
- 如您所见,我确保有一个 .gitignore 忽略缓存文件夹的全部内容。
- 我尝试了 dump-autoload 和 composer 更新。
- 我尝试从命令行和 git 操作进行部署
以上所有方法都没有产生任何结果,支持团队尽了最大努力,但也无法确定问题所在。
解决办法??
所以,我的一个队友注意到我们在添加 vapor-ui 包后才开始遇到这个问题。我将它从我们的项目中完全删除,重新部署,并且没有更多错误。 API 现在按预期响应。
我的问题是,为什么安装 vapor-ui 会导致这个问题?
我知道vapor-ui项目本身就是一个Laravel项目所以会不会是vapor-ui项目中没有bootstrap/cache文件夹?
以下是删除 vapor-ui 之前我的 vapor.yml 文件的片段:
id: 1234
name: notreal
environments:
production:
domain: notreal.notreal.com
memory: 1024
cli-memory: 512
runtime: docker
network: vapor-network-123
build:
- 'composer install --no-dev'
- 'php artisan vapor-ui:install'
- 'npm ci && npm run prod && rm -rf node_modules'
staging:
domain: sta-notreal.notreal.com
memory: 1024
cli-memory: 512
runtime: docker
network: vapor-network-1647335449
database: notreal-sta
build:
- 'composer install'
- 'php artisan vapor-ui:install'
- 'npm ci && npm run dev && rm -rf node_modules'
development:
domain: dev-notreal.notreal.com
memory: 1024
cli-memory: 512
runtime: docker
network: vapor-network-123
database: notreal-dev
build:
- 'composer install'
- 'php artisan vapor-ui:install'
- 'npm ci && npm run prod && rm -rf node_modules'
我认为您不需要此构建步骤:
php artisan vapor-ui:安装
你在本地做,然后当你部署时一切都已经到位
问题:
每当我尝试向使用 Laravel Vapor 托管的 Laravel API 发出请求时,我都会收到 502。
当我在 Cloudwatch 中查看错误日志时,我看到了:
正如您在此处看到的,返回 502 是因为 bootstrap/cache 文件夹似乎存在权限问题,或者由于某种原因部署后该文件夹不存在。
我为解决此问题所做的工作:
- 我确保文件夹权限正确(缓存文件夹有 755,.git忽略 644)。
- 如您所见,我确保有一个 .gitignore 忽略缓存文件夹的全部内容。
- 我尝试了 dump-autoload 和 composer 更新。
- 我尝试从命令行和 git 操作进行部署
以上所有方法都没有产生任何结果,支持团队尽了最大努力,但也无法确定问题所在。
解决办法?? 所以,我的一个队友注意到我们在添加 vapor-ui 包后才开始遇到这个问题。我将它从我们的项目中完全删除,重新部署,并且没有更多错误。 API 现在按预期响应。
我的问题是,为什么安装 vapor-ui 会导致这个问题? 我知道vapor-ui项目本身就是一个Laravel项目所以会不会是vapor-ui项目中没有bootstrap/cache文件夹?
以下是删除 vapor-ui 之前我的 vapor.yml 文件的片段:
id: 1234
name: notreal
environments:
production:
domain: notreal.notreal.com
memory: 1024
cli-memory: 512
runtime: docker
network: vapor-network-123
build:
- 'composer install --no-dev'
- 'php artisan vapor-ui:install'
- 'npm ci && npm run prod && rm -rf node_modules'
staging:
domain: sta-notreal.notreal.com
memory: 1024
cli-memory: 512
runtime: docker
network: vapor-network-1647335449
database: notreal-sta
build:
- 'composer install'
- 'php artisan vapor-ui:install'
- 'npm ci && npm run dev && rm -rf node_modules'
development:
domain: dev-notreal.notreal.com
memory: 1024
cli-memory: 512
runtime: docker
network: vapor-network-123
database: notreal-dev
build:
- 'composer install'
- 'php artisan vapor-ui:install'
- 'npm ci && npm run prod && rm -rf node_modules'
我认为您不需要此构建步骤: php artisan vapor-ui:安装
你在本地做,然后当你部署时一切都已经到位