Invokable > 戻る
2021-01-14
Laravel

VercelでLaravelを動かす

Vercel gives developers the frameworks, workflows, and infrastructure to build a faster, more personalized web.

  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が少し違う。

📦 Example projects using Vercel platform. Using Node.js, PHP and others. - contributte/vercel-examples

動くVIEW_COMPILED_PATHはこれ。

"VIEW_COMPILED_PATH": "/tmp"

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

"regions": ["hnd1"],

Databases

Store large files and global configuration with Vercel's storage products.

AWSのRDSなどが使える。

Authentication

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

Realtime

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

Cron

Learn about cron jobs, how they work, and how to use them on Vercel.

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

Email

Learn best practices for sending emails from an application on Vercel

SESなどが使える。

File Storage & Uploads


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件のコメントを読むにはログインしてください。
登録 ログイン