無料Serverlessララビル展開



あなたが小さなラーラベルアプリケーションを持っているならば、あなたはあなた自身のVPSまたは何かのようなものをセットするトラブルを経験したくありませんLaravel Vapor これを読んでください.
したがって、このライドでは、どのように設定することができますし、私たちのlaravelアプリケーションを展開することができますVercel , 任意のコストで自動展開やプレビューを含む.
この時点であなたはおそらくこの音があまりにも良いことを考えている.まああなたは右、もちろんいくつかのgotchasがあります.
主なことは、他の方法をホストし、あなたのアプリケーションを必要とするデータベースと他のサービスを管理する方法を見つける必要があります.
そして、この設定は、AWSとLaravel蒸気のより堅牢な配備戦略の代わりではありません.
今、我々は道のそれを得た、掘ることができます!

アプリケーションの作成
既にプロジェクトがある場合は、この手順を省略できます.明快のために作曲家を使って新しいものを作ります.
我々は我々のアプリララエルVercelを呼び出します
端末を開き実行するcomposer create-project laravel/laravel laravel-vercel
Gitリポジトリを初期化し、Githubにプッシュする
アプリケーションが作成されたら、ルートディレクトリに移動し、Gitを設定し、Githubにコードをプッシュする必要があります.
これらのコマンドを実行してgitリポジトリを設定します.cd laravel-vercel git init git add . git commit -m "init"今すぐgithubに新しいリポジトリを作成し、アプリケーションをプッシュすることができます.
リポジトリ作成ページへ移動here Laravel Vercelというリポジトリを作成します.

リポジトリを作成した後、次のイメージに似たページが表示されます.

新しく作成したGithubリポジトリページから、イメージで強調表示されたコマンドをコピーして実行します.

設定ファイルの作成
したがって、この魔法が起こるために、我々は我々のアプリケーションで2つのバーセル構成ファイルを作成しなければなりません.
app/index.phpPHPファイルを作成するindex.php フォルダ内でapi あなたのアプリケーションルートディレクトリで.
し、次のコンテンツを追加します.
<?php
require __DIR__ . '/../public/index.php';
バーセル上のServerless関数の既定のエントリポイントはapp ディレクトリ.上記のスクリプトは、リクエストがLALAVELアプリケーションエントリポイントに転送されることを確認しますpublic/index.php .
vercel.json再度新しいファイルを作成するvercel.json を返します.このファイルは、Vercel設定を設定する責任があります.これは本当の魔法が起こるところです.
次のコンテンツをファイルに追加して詳細に説明します.
{
    "version": 2,
    "functions": {
        "api/index.php": { "runtime": "[email protected]" }
    },
    "routes": [
        {
            "src": "/(.*)",
            "dest": "/api/index.php"
        }
    ],
    "env": {
        "APP_NAME": "Laravel Vercel",
        "APP_ENV": "production",
        "APP_DEBUG": "false",
        "APP_URL": "https://laravel-vercel.vercel.app",

        "APP_CONFIG_CACHE": "/tmp/config.php",
        "APP_EVENTS_CACHE": "/tmp/events.php",
        "APP_PACKAGES_CACHE": "/tmp/packages.php",
        "APP_ROUTES_CACHE": "/tmp/routes.php",
        "APP_SERVICES_CACHE": "/tmp/services.php",
        "VIEW_COMPILED_PATH": "/tmp",
        "CACHE_DRIVER": "array",
        "LOG_CHANNEL": "stderr",
        "SESSION_DRIVER": "cookie",
        "VIEW_COMPILED_PATH": "/tmp/views",
        "SSR_TEMP_PATH": "/tmp/ssr",
        "NODE_PATH": "node"
    }
}

バージョン
"version": 2, 
//This make sure to run our code on Vercel version 2

関数
"functions": {
    "api/index.php": { "runtime": "[email protected]" }
}, 
The api/index.php キーは、LALAVELアプリケーションエントリポイントに転送される我々のアプリケーションエントリポイントを定義しますpublic/index.php "runtime": "[email protected]" PHPのランタイムを定義しますServerless Functions Vercel用.
この設定ではPHPのコミュニティランタイムを使用しますvercel-php .

路線
"routes": [
   {
      "src": "/(.*)",
      "dest": "/api/index.php"
   }
],
ルートは、我々のアプリケーションServerlessな機能にすべてのURIを進めるために、Vercelに話します.

env
"env": {
        "APP_NAME": "Laravel Vercel",
        "APP_ENV": "production",
        "APP_DEBUG": "false",
        "APP_URL": "https://laravel-vercel.vercel.app",

        "APP_CONFIG_CACHE": "/tmp/config.php",
        "APP_EVENTS_CACHE": "/tmp/events.php",
        "APP_PACKAGES_CACHE": "/tmp/packages.php",
        "APP_ROUTES_CACHE": "/tmp/routes.php",
        "APP_SERVICES_CACHE": "/tmp/services.php",
        "VIEW_COMPILED_PATH": "/tmp",
        "CACHE_DRIVER": "array",
        "LOG_CHANNEL": "stderr",
        "SESSION_DRIVER": "cookie",
        "VIEW_COMPILED_PATH": "/tmp/views",
        "SSR_TEMP_PATH": "/tmp/ssr",
        "NODE_PATH": "node"
    }
既に推測したように、これはアプリケーション環境変数のセクションになります.あなたはあなたのlaravelアプリにある環境変数を渡すことができます.env .
注意!敏感な環境値APP_KEY データベースの設定値はGitによって追跡され、repoに表示されます.我々は後で、より安全な方法でそれらの値をどのように渡すかを見るでしょう.
異常な変数のいくつかは、私たちが普通に見ていないラーラベルのデフォルト値ですenv ファイル.無制限のアプリケーションは状態が少なく、実行時に確実に変更できる唯一のフォルダはVercelのTMPフォルダです.

コミットとプッシュを変更する
我々のGithubレポに我々の新しくつくられたファイルを押しさせてくださいgit add . git commit -m "add Vercel configs" git push orgin Main
リポジトリのリンク
無料アカウントを作成Vercel あなたのGitHubアカウントを使用する.
完了したら、新しいプロジェクトと呼ばれるボタンが表示されますあなたのVercelダッシュボードで、何かこのような次のイメージが表示されます.

あなたがそれをクリックすると、次のような非常に類似したページで、作成ページとGithubリポジトリが一覧表示されます.

インポートをクリックlaravel-vercel リポジトリ.
リポジトリが一覧表示されていない場合は、Adjust GitHub App Permissions そこにアクセス許可を設定します.
インポートをクリックすると、次のようなページが表示されます

をクリックすることができますskip チームのセクションを作成し、構成プロジェクトのセクションに移動します.

環境変数のセクションでは、我々は敏感なlaravelアプリenv変数を追加します.
これらは次のとおりです.APP_KEY DB_CONNECTION DB_HOST DB_PORT DB_DATABASE DB_USERNAME DB_PASSWORD最後にDeploy そして、魔法が起こるのを見るために後ろに座りなさい.
アプリケーションが構築され、Vercelで展開されます.そして、あなたのアプリケーションにVercelドメイン名を持つ次の成功ページが表示されます.

今、あなたがしなければならないすべての配備が展開されるならば、あなたのGitHubリポジトリ主ブランチにあなたの変更をコミットして、あなたの変化をプッシュしてください、そして、それは自動的に構築されて、あなたのサーバーに配備されます.
あなたのアプリケーションにドメイン名を変更する場合は、Vercelの設定タブに移動することができますし、全体のページを設定し、ドメインを管理しています.
ピースアウト✌️