無料Serverlessララビル展開
17359 ワード
あなたが小さなラーラベルアプリケーションを持っているならば、あなたはあなた自身の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.php
PHPファイルを作成する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の設定タブに移動することができますし、全体のページを設定し、ドメインを管理しています.
ピースアウト✌️
Reference
この問題について(無料Serverlessララビル展開), 我々は、より多くの情報をここで見つけました https://dev.to/kenean50/free-serverless-laravel-deployment-1e9nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol