ホームページ > バックエンド開発 > PHPチュートリアル > Laravel Forgeを使用してPHP Webアプリケーションをデプロイする

Laravel Forgeを使用してPHP Webアプリケーションをデプロイする

王林
リリース: 2023-09-04 12:10:01
オリジナル
1632 人が閲覧しました

開発者は自動化が大好きです。開発と運用の間のあらゆるプロセスで、ワークフローを合理化するためのスクリプトを切望しています。デプロイメントについても同様です。

プッシュ アプリケーションを最終的に構築してデプロイするプロセスは、「Deploy Now」ボタンを押すのと同じくらい簡単である必要がありますが、ほとんどの場合はそうではありません。結局、サーバーの構成、環境のセットアップ、運用ビルドに関連すると思われないファイルの移動などに時間とリソースを投資することになりました。

FTP を使用してファイルをサーバーに手動で送信したり、コードを GitHub リポジトリにプッシュしたりすることを好む人もいますが、プロセスを簡素化するためにデプロイメント ツールを使用することを好む人もいます。 Laravel Forge は、PHP のデプロイメントを簡単にするツールの 1 つです。

Laravel のブランド名に誤解を与えないでください。 Laravel に加えて、このサービスを使用して、WordPress、Symphony、Statamic、または PHP であればその他の Web プロジェクトをホストすることもできます。個人的には、Laravel Forge がシンプルで簡単に始められるので気に入っています。

このチュートリアルでは、Laravel Forge を AWS に接続する手順を説明し、Laravel Forge が提供する機能について説明します。

###概要###

Laravel Forge を使用すると、クラウド サーバーをスピンアップし、Git や利用可能ないくつかの一般的なサーバー プロバイダーを使用してデプロイメント プロセスを処理できます。このプロセスについては以下で説明します:

まず、AWS またはその他のクラウド プロバイダーを Forge アカウントに接続する必要があります。次に、ソース管理 (GitHub など) を Forge にリンクします。これでサーバーを作成できるようになります。ソース管理リポジトリをサーバーにインストールします。最後に、デプロイボタンを押します。簡単ですよね?

Laravel Forge を使用して構成されたサーバーには、次のスタックが付属しています:

Ubuntu 16.06
    ###私はしません###
  • PHP 7.2/7.1/7.0/5.6
  • MySQL/MariaDB/Postgres
  • Redis
  • Memcached
  • サーバーを作成した後、さらに構成できます。
  • サインアップすると、提供されるさまざまなプランから選択できます。私は月額 12 ドルのベーシック プランを選択しましたが、リストにあるものすべてに 5 日間アクセスできる無料トライアルを利用できます。

ログインすると、次のような画面が表示されます。

サービス プロバイダーとして、Digital Ocean、AWS、Linode、Vultr から選択できます。あるいは、カスタム VPC で Forge を使用することもできます。ソース管理に関しては、Forge は GitHub、GitLab、Bitbucket をサポートしています。このチュートリアルでは、ソース管理のために Forge および GitHub と連携するように AWS を構成する基本について説明します。完了すると、任意の数のサーバーを作成して構成できるようになります。

使用Laravel Forge部署PHP Web应用程序 リストにある別のサービスプロバイダーを使用している場合は、このステップをスキップして、AWS と Laravel Forge を構成した後で後ほどお問い合わせください。

Laravel Forge と AWS のセットアップ

Forge と AWS をセットアップするには、次の手順に従う必要があります。

###1。 Laravel Forgeにログインします

Laravel Forge にログインし、サービスプロバイダーとして AWS を選択します。アクセス キー ID (key) とシークレット アクセス キー (secret) を求められます。 Laravel Forge への十分なアクセスを提供するポリシーを持つ特定の IAM ユーザーを作成する必要があります。 IAM は、問題が発生した場合にアクセスを取り消すことができるように、各ユーザーのアクセス許可をマッピングする Amazon の方法です。

###2。新しい IAM ユーザーを作成する

AWS コンソールにログインし、新しい IAM ユーザーを作成します。

ユーザーに意味のある名前を付け、

Programmatic Access

チェックボックスをオンにします。

###3。適切なポリシーを選択してください使用Laravel Forge部署PHP Web应用程序

laravel-forge IAM ユーザーに正しい権限を設定します。ユーザー グループは権限の管理に最適であるため、新しいユーザー グループを作成します。ここで当然の疑問は、「Forge ユーザーがアクセスできるポリシーは何ですか?」ということです。これに AdministratorAccess を与えることはできますが、与えるべきではありません。

Forge にユーザーに代わってサーバーを作成および構成させたい場合は、2 つのポリシーを追加する必要があります:

AmazonEC2フルアクセス

使用Laravel Forge部署PHP Web应用程序AmazonVPCFulAccess

###4。資格情報を保存して確認します

    IAM アカウントを確認します。次のページでアクセス キーとパスワードが表示されます。
Laravel Forge ページに移動し、そこに貼り付けます。それでおしまい。

###5。 GitHub アカウントを Forge

にリンクする

まだ接続していない場合は、GitHub/Bitbucket アカウントを Forge に接続してください。サーバーを作成すると、Forge によって公開キーがアカウントに追加されます。新しいサービス プロバイダーの追加やソース管理の更新が必要な場合は、プロファイルでこれらのオプションを見つけることができます。

新しいサーバーの作成

「サーバーの作成」ページに移動して、新しいサーバーを追加します。

使用Laravel Forge部署PHP Web应用程序

AWS 無料利用枠を使用している場合は、1GB RAM を搭載した t2.micro を選択してください。その他の設定についてはデフォルト値を使用します。これらには、データベース MySQL および PHP バージョン 7.2 が含まれます。データベース名は後でカスタマイズできます。わかりやすくするために、ロード バランサーを使用しないことにしました。ポストプロダクションの秘密を知りたい場合は、このチュートリアルの最後で説明しています。

サーバーの作成には最大 5 分かかる場合があります。 sudo アクセスのための認証情報が与えられます。将来使用できるよう、安全な場所に保管してください。期待どおりに動作しているかどうかを確認するには、サーバーの IP アドレスに移動すると、画面に phpinfo() の出力が表示されるはずです。

サーバー管理インターフェイス

サーバーの作成後に表示されるインターフェイスは、サーバー管理ダッシュボードです。

使用Laravel Forge部署PHP Web应用程序

ここでは、たとえば次のようなさまざまなことができます:

  • ウェブサイト管理
  • SSH キーの追加
  • データベース構成
  • PHP設定を更新する
  • タスクを手配する
  • デーモンプロセスの開始
  • ネットワークの管理とファイアウォールの構成
  • Blackfire または Papertail を使用したアプリケーションの監視
  • 構成メタ設定

多くの機能がバンドルされています。このチュートリアルでは重要なことを説明しました。まずはサイト管理から始めましょう。 Forge のドキュメントによると:

サイトはサーバー上の各「ドメイン」を表します。新しく構成されたすべてのサーバーには「デフォルト」サイトが含まれていますが、運用サイトを立ち上げる準備ができたら、それを削除し、有効なドメイン名で新しいサイトを作成する必要があります。 块引用>

ご覧のとおり、Forge はデフォルトのサイトを設定しました。任意の数のサイトを作成し、それらをサブドメインにルーティングできます。このチュートリアルでは、デフォルトのサイトをそのまま使用します。デフォルトでは、Web ディレクトリは /public に設定されています。これが、Laravel および他のほとんどの Web アプリケーションの構成方法です。

特定のサイトをクリックすると、サイト管理インターフェイスが表示されます。ここから、個々のサイトを管理、展開、構成できます。

サイト管理インターフェイス

これは、最初のインターフェイスの外観です。

使用Laravel Forge部署PHP Web应用程序

WordPress は、Git リポジトリからインストールまたはインストールできます。このチュートリアルの目的のために、アカウントにフォークできるサンプル Contact Us アプリケーションを作成しました。プロジェクト名とブランチ名を指定できます。完了すると、アプリケーションのデプロイを制御できるようになります。

使用Laravel Forge部署PHP Web应用程序

#利用可能なオプションについて簡単に説明します。

今すぐ導入してすぐに導入しましょう

デプロイするには、「

Deploy Now」ボタンを使用して手動でデプロイできます。あるいは、クイック デプロイメント オプションを有効にすることもできます。これにより、選択した GitHub リポジトリのマスター ブランチにコードをプッシュすると、プロジェクトが自動的にデプロイされます。

導入スクリプト

デフォルトのデプロイメント スクリプトは、アプリケーションがデプロイされるたびにリポジトリからコードを取得し、依存関係をインストールし、サーバーを起動し、移行を実行します。これが実際の展開スクリプトです。

リーリー

調整して追加する必要がある場合は、それが可能です。

デプロイメントトリガー URL

これを使用して、アプリケーションをサードパーティ サービスに統合したり、カスタム展開スクリプトを作成したりできます。 URL に対するリクエストを受信すると、展開スクリプトがトリガーされます。

リポジトリとブランチを更新する

ブランチを更新する必要がある場合、または同じプロジェクトの新しいバージョンを別のリポジトリにインストールする必要がある場合は、これらのオプションを使用できます。ブランチを更新する場合は、展開スクリプト内のブランチ名も更新する必要がある場合があります。

###環境###

Forge はアプリケーションの環境ファイルを自動的に生成します。データベース資格情報などの一部の詳細は、環境に自動的に追加されます。ただし、アプリケーションで API を使用する場合は、API キーを環境に安全に配置できます。汎用の PHP Web アプリケーションを実行している場合でも、

getenv()

メソッドを使用して ENV 変数にアクセスできます。

キューワーカー

Forge でキュー ワーカーを開始することは、

queue:work

Artisan コマンドを実行することと同じです。 Forge は、スーパーバイザーと呼ばれるプロセス モニターを使用してキュー ワーカーを管理し、プロセスが永久に実行され続けるようにします。キューの優先順位やその他の便利な分類に基づいて、複数のキューを作成できます。

SSL

过去,为网站提供 SSL 保护绝非易事且免费。 Forge 允许您安装现有证书,或者您可以从 LetsEncrypt 获取免费证书。它既快速又简单。如果您需要通配符子域的 SSL,您可以将免费的 Cloudflare 证书添加到 Forge。

回到服务器管理界面,我们有SSH密钥。

添加 SSH 密钥

虽然仪表板上提供了大多数可配置选项,但如果您需要连接到服务器,则应该使用 SSH 来完成。 SSH 是登录 VPS 的更安全的方式,并且提供比密码更多的保护。

要通过 SSH 访问服务器,您需要生成密钥对(如果尚未生成)。服务器将可以访问公钥,而私钥将驻留在您的主机中。然后,您可以使用该设置连接到服务器实例。

使用Laravel Forge部署PHP Web应用程序

注意:从服务器管理仪表板添加的 SSH 密钥将特定于该服务器。如果您需要从现在开始自动将密钥添加到所有服务器,您可以从您的个人资料设置中添加它们。

要生成密钥对,请运行以下命令。

ssh-keygen -t rsa
ログイン後にコピー

系统会询问您几个问题,例如您想要存储密钥的文件以及用于提高安全性的密码。接下来,将 SSH 密钥添加到 ssh-agent。

ssh-add ~/.ssh/id_rsa
ログイン後にコピー

复制公钥并将其添加到 Forge 的 SSH 密钥列表中。

cat ~/.ssh/id_rsa.pub  # Copy the output of this command
ログイン後にコピー

配置 PHP 和 MySQL

您可以使用该界面来配置 PHP 和 MySQL。对于数据库,可用的选项包括:

  • 创建新数据库。
  • 添加新用户。
  • 更新用户对数据库的访问权限。
  • 更新 Forge 有关密码的知识。

确保在 .env 文件中填写更新的数据。

您可以配置以下 PHP 设置:

  • 升级到最新版本的 PHP。
  • 更改上传文件大小。
  • 针对生产环境优化 OPCache,以便将编译后的 PHP 代码存储在内存中。

其他重要设置

这里我列出了一些其他可用的设置。

安排任务

您可以使用 Forge 的调度程序来安排重复任务或运行 cron 作业。如果您需要定期发送电子邮件、清理某些内容或运行脚本,则可以使用任务计划程序。默认情况下会创建一个任务,该任务每晚运行 composer self-update 。您可以尝试以您选择的频率安排新的会议。

启动守护进程

守护进程是在后台进程中运行的计算机程序。 Laravel Forge 允许您启动守护进程并使用 Supervisor 来确保守护进程保持运行。如果守护进程由于某种原因崩溃,Supervisor 将自动重新启动脚本。

监控应用程序

Laravel Forge 内置了对工具的支持,这些工具可以通过收集有关资源(例如内存、CPU 时间和 I/O 操作)的数据来监控应用程序的性能指标。可用的工具有 B​​lackfire.io 和 Papertrail。要开始分析您的应用程序,您只需从第三方网站检索正确的凭据即可。

配置服务器网络和防火墙

如果您需要更新防火墙设置,则无需前往 AWS 控制台即可完成此操作。您可以从仪表板创建新的防火墙规则。如果您有使用相同提供商和区域配置的其他服务器,则可以设置服务器网络,以便它们可以轻松通信。

摘要

Laravel Forge 是一个令人难以置信的工具,它使部署变得轻而易举。它具有大量功能和易于使用的 UI,可让您轻松创建和配置服务器并部署应用程序。配置服务提供商后,您很可能不需要再次访问 AWS 控制台来管理服务器。

在本教程中,我介绍了使用 Laravel Forge 配置 AWS 的基础知识以及配置服务器和部署应用程序的步骤。我还讨论了 Forge 界面中几乎所有可用的功能。

对于那些刚刚开始使用 Laravel 或希望通过扩展来扩展您的知识、网站或应用程序的人,我们在 Envato Market 中提供了您可以学习的各种内容。

您是否有使用 Laravel Forge 或任何其他流行部署工具部署 PHP 应用程序的经验可以分享?让我们在评论中知道。

以上がLaravel Forgeを使用してPHP Webアプリケーションをデプロイするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート