Invokable > 戻る
2021-01-14
Laravel

VercelでLaravelを動かす

https://vercel.com/

  1. 最初にまとめ
  2. 動かし方
  3. Databases
  4. Authentication
  5. Realtime
  6. Cron
  7. Email
  8. File Storage & Uploads
  9. デプロイ時のartisanコマンド
  10. セッション

最初にまとめ

「データベースを使わない規模のちょっとしたLaravelアプリを無料で動かして公開するならVercelはちょうどいい」
なんだかんだで動かせるのがPHPのメリット。

本格的に使うなら「Laravel公式のサーバーレス」Vaporを使ったほうがいい。

Laravel Vapor is a serverless deployment platform for Laravel, powered by AWS.

残りはここに書いてることとほとんど同じ。
https://github.com/invokable/laravel-vercel

動かし方

必要なファイルはvercel.jsonapi/index.php

これを参考にすればいいけどvercel.jsonが少し違う。
https://github.com/juicyfx/vercel-examples/tree/master/php-laravel

動くVIEW_COMPILED_PATHはこれ。

"VIEW_COMPILED_PATH": "/tmp"

東京リージョンで使うには

"regions": ["hnd1"],

Databases

https://vercel.com/docs/solutions/databases

AWSのRDSなどが使える。

Authentication

https://vercel.com/docs/solutions/authentication

DBが使えるならLaravelの認証が使えるはず。

Realtime

https://vercel.com/docs/solutions/realtime

Pusherが使えそうだけどVercelで動かすLaravelではやらないことかも。

Cron

https://vercel.com/docs/solutions/cron-jobs

VercelのドキュメントではGitHub Actionsで定期的にリクエストを送るとか書いてるけど
GitHub Actions使うならGitHub Actionsでartisanコマンドを実行すればいいだけなのでLaravelでは関係ない話。

Email

https://vercel.com/docs/solutions/email
SESなどが使える。

File Storage & Uploads

https://vercel.com/docs/solutions/file-storage
S3などが使えるはず。

Vercelで難しそうなのはキューワーカーやHorizonをずっと動かし続ける部分?
個人的にはそこが一番重要。

デプロイ時のartisanコマンド

composer scriptsにvercelを作ればデプロイ時に実行されるのでキャッシュやマイグレーションはこれでできそう。

    "scripts": {
        "vercel": [
            "@php artisan config:cache",
            "@php artisan route:cache",
            "@php artisan view:cache"
        ]
    }

セッション

databaseかcookieを使う。

Livewireを使うならセッションが必須。DBなしならcookieを使えばいい。

投稿者 Invokable
7件のコメントを読むにはログインしてください。
登録 ログイン