検索
ホームページバックエンド開発PHPチュートリアルLaravelとGitを使用してWebサイトを展開します

Deploy Your Website Using Laravel and Git

コアポイント

  • LaravelとGitの組み合わせにより、効率的なWebサイトの展開が可能になり、GITがファイルの変更を管理し、Laravelが繰り返しタスクを自動化し、簡素化された制御可能な展開プロセスを可能にします。
  • 展開プロセスには、中央リポジトリのセットアップ、リポジトリのクローニングのクローン化してローカルおよびオンラインのWebサイトを作成し、Laravelのインストールが含まれます。次に、GITを使用してファイルの変更を追跡し、これらの変更を生産サーバーの中央リポジトリにプッシュします。
  • Laravelは、LaravelのSSHファサードを使用してコントローラーを参照し、コントローラーを作成し、Git展開ワークフローを繰り返すルートを作成することにより、展開プロセスを自動化できます。特定のURLにアクセスして簡単に展開してください。
  • 展開セキュリティを確保するには、展開ページへの不正アクセスを必ず防止してください。これは、
  • を使用して特定のファイルを無視し、展開ルートを実行する前にそれらが存在するかどうかを確認することで実行できます。その他の方法には、パスワード保護またはIPアドレス制限が含まれます。 .gitignore

Deploy Your Website Using Laravel and Git

成功したWeb開発は、効果的なWebサイトの展開ワークフローとは分離できません。ワークフローが良いか悪いかどうかにかかわらず、ウェブサイトが利用できない場合、顧客はあなたのハードワークの成果を支払うことができません。

それぞれの利点と短所を備えたプロダクションサーバーにウェブサイトを展開する方法はたくさんありますが、開始方法と終了方法は同じです。優れたWebサイトの展開ワークフローの鍵は、中間の手順です。

先日、Filezillaを使用してファイルを生産サーバーにアップロードしました。 Filezillaのインターフェイスはあまりフレンドリーではないといつも感じていましたが、長い間、それが標準的な練習だと思っていました。

同じプロジェクトでは、Gitを使用してファイルの変更を追跡します。入力を始めたとき、私は一時停止し、しばらく考えました。 Webサイトの展開がGitリポジトリをプッシュするのと同じくらい簡単な場合、もっと便利ではないでしょうか?

git push origin慎重に考えてください、GitはWebサイトの展開ファイルを処理するのに最適なツールです。すべてのファイルの変更を追跡し、1つのコマンドで必要なものをプッシュまたはプルします。自分のウェブサイトを展開するときにGITを使用する方法をGoogleの検索を開始することにしました。

Gitを使用してWebサイトを展開することがわかった人気のある方法の1つは、Gitフックを最大限に活用することです(トムオラムは同様の方法を使用するのが好きです)。 Git Hooksが端末コンソールに入力するだけで事前定義されたスクリプトを開始すると想像してください。この事前定義されたスクリプトは、生産サーバーにアクセスし、最新のファイルの変更をプルします。 Push Changesと同じコマンドを使用してWebサイトを更新することもできます。このアプローチは、ローカルリポジトリをプッシュしたからといって、ライブの準備ができているわけではないということに気付くまで、素晴らしいと思いました。

gitを使用するのと同じくらい簡単なリポジトリをプッシュする方法が欲しいです。さらに重要なことは、コンテンツをオンラインで提供する際に完全に制御したいことです。 GITを使用してファイル転送を処理する同様のワークフローを見つけました。最も重要なことは、PHPフレームワークLaravelを使用して、より繰り返しのタスクを自動化することも可能であることがわかりました。

以下は私のWebサイトの展開ワークフローです:

構造設定

このセクションでは、中央リポジトリとして-Bareリポジトリをセットアップし、クローニングにより2つのリポジトリを作成します。 1つは、展開プロセスを実行する地元のWebサイトです。 Laravelもインストールします。

Deploy Your Website Using Laravel and Git

開始する前に、GITがインストールされているローカルサーバーと生産サーバーが必要です。

有用なリソース:
    homestead_improved
  • のインストール
  • gitとレビューのインストール
1

SSHプロダクションサーバーに接続し、中央リポジトリを配置するディレクトリを見つけます。

リポジトリを初期化します。
<code>ssh username@domain.com
cd repos</code>

<code>git init --bare --shared mywebsite.git</code>
このフォルダーは通常、パブリックフォルダー構造の外側に配置するために推奨されます。このように、他の人はあなたのプライベートリポジトリに誤ってつまずくことはありません。

2オンラインWebサイトを作成します

でWebサイトファイルをホストする場所を決定します。

public_htmlセンターをクローンする - このSSHセッションから作成してログアウトしたばかりのベアリポジトリ。

<code>cd ~/public_html/</code>

3ローカルWebサイトを作成します

Homesteadのようなものを使用している場合は、Vagrantコマンドを使用してSSHを使用してローカルサーバーに接続してファイルにアクセスする必要があります。
<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite
exit</code>

オンラインWebサイトを作成したばかりの手順に従ってください。

<code>vagrant ssh</code>
4 laravel

Laravelを設定する前に、地元のWebサイトにインストールする必要があります。
<code>cd websites
git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>

有用なリソース:

インストールlaravel
  • を開いて、リモートサーバー設定を構成ファイルに追加します。

/app/config/remote.php後で参照する必要があるため、「生産」キーを覚えておいてください。

<code>'connections' => array(
        'production' => array( 
            'host'      => 'domain.com',
            'username'  => 'username',
            'password'  => '********************',
            'key'       => '',
            'keyphrase' => '',
            'root'      => '/var/www',
        ),
    ),</code>
ファイルをローカルWebサイトリポジトリに追加して、それらの変更を追跡できるようにします。

最初のコミットを実行します。

<code>git add .</code>
最後に、生産サーバーの中央リポジトリにプッシュします。

<code>git commit -m 'initial commit with laravel'</code>

<code>git push origin master</code>
LocalHostにアクセスすると、Laravelの「到着」が表示されます。

Deploy Your Website Using Laravel and Git 良い仕事!あなたはすべてセットアップして構成されており、今では興味深いコンテンツを掘り下げる準備ができているはずです。

git

を使用したコアワークフロー

すべてがセットアップされた後、GITを使用してWebサイトを簡単に展開できます。コードを見て、そのコアコンテンツを理解してみましょう。

Laravelを使用してPHPで後で書き直すため、ワークフローを理解することが重要です。また、発生する可能性のある問題をデバッグするのにも役立ちます。

1 SSHはオンラインサーバーに接続し、生産倉庫を見つけます。

<code>ssh username@domain.com
cd repos</code>
2中央リポジトリを引いて、新しいファイルの変更をマージします。

<code>git init --bare --shared mywebsite.git</code>
あなたがこれまでに正しい場合、あなたはあなたのオンラインサイトにアクセスするときに、Laravelの「あなたが到着した」を見るはずです。

ここでやめたいなら、私はあなたについて意見を持っていません。これは、それ自体がかなり信頼できる展開ワークフローです。しかし、Laravelで自動化することにより、より効率的にすることができます。

laravel を使用した自動展開

OK、Gitを使用してWebサイトを展開する方法がわかったので、Laravelを使用してこのプロセスを自動化しましょう。この部分は必要ではないかもしれませんが、Laravelを既に使用している場合、「なぜLaravelを使用しても、このWebサイトの展開ワークフローがシンプルで効率的で、制御可能で、カスタマイズ可能です。

1。

フォルダーの

ページを開き、次のPHPコード行をファイルに追加します。 /app routes.php

<code>cd ~/public_html/</code>
にアクセスするたびに、コントローラーの一般的な関数が実行されます。

http://localhost/deploy 2次に、コントローラーを作成して保存します。 Server deploy

を拡張する空の

クラスから始めます。

BaseControllerコントローラーに共通の関数Serverを挿入します。

<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite
exit</code>

deployフォルダーに保存して、

に名前を付けます。
<code>vagrant ssh</code>

興味深い部分はこちらです! /app/controllers Server.php 3 laravelのsshファサードを

機能に挿入し、git展開ワークフローを繰り返します。

SSHファサードを挿入します。以前に設定した本番リモート構成にアクセスしたいと考えています。

deploy

関数は、提供する必要がある2つのパラメーターを受け入れます。最初で最も重要なパラメーターは、
<code>cd websites
git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>
関数を実行するときに実行する端子コマンドの配列です。

run() deploy2番目は、サーバーから受け取るフィードバックを処理するために呼び出す関数です。

<code>'connections' => array(
        'production' => array( 
            'host'      => 'domain.com',
            'username'  => 'username',
            'password'  => '********************',
            'key'       => '',
            'keyphrase' => '',
            'root'      => '/var/www',
        ),
    ),</code>

今、私たちがウェブサイトを展開したいときはいつでも、

にアクセスする必要があります。簡単ですか?はい、正確ではありません。
<code>git add .</code>

終わりを呼び出す前に、いくつかのセキュリティの脆弱性に対処する必要があります。誰でもhttp://localhost/deployにつまずいて、当社のウェブサイトを展開できます。これを防ぐために何かをセットアップすることです。

これを行うには多くの方法があり、疲れ果てるまでどの方法が最も安全であるかを議論することができます。ルートのパスワードを保護したり、IPアドレスを介してアクセスをブロックするなどしたりできます。

この例では、この例では、

を使用して、ファイルが存在するかどうかを確認し、作成したルートを実行します。 .gitignore

4。

controllers新しいファイルを作成して.gitignoreに保存し、名前Server.phpに名前を付けます。

次のテキスト行をファイルに追加して保存します。 /app/controllers .gitignore

5ウェブサイトを展開するルートを実行する前に、

ファイルが存在することを確認してください。

<code>ssh username@domain.com
cd repos</code>
以前に作成したルートを覚えています。この条件付きステートメントでそれを包む必要があります。その後、オンラインで行くことができます。

Server.php

終了すると、このように見えるはずです。

<code>git init --bare --shared mywebsite.git</code>

クリエイティブを入手してくださいそれだけです!更新されたすべてのファイル、コミット、プッシュを保存するだけで、Gitフレンドリーなワークフローで展開を開始できます。

<code>cd ~/public_html/</code>

必要に応じてさらに進むことができます。クイックワンクリック展開のために、ブックマークに

を追加するだけです。ページに投稿するシンプルなHTMLフォームを作成して、特定のブランチをプルできるようにすることもできます。可能性は無限です。

GitとLaravelを使用した

展開により、退屈なWebサイトの展開タスクが楽しくなります。 Gitを知っている場合、セットアップは簡単ですが、使いやすいです。 Deploy Your Website Using Laravel and Git

ウェブサイトの展開を簡素化するために使用した創造的な方法を私と共有してください!

Laravelとgit http://localhost/deploy

を使用してWebサイトを展開するためのFAQ(FAQS)

GITを使用してLaravel Webサイトを展開するときに競合を解決する方法は?

特に複数の開発者が同じプロジェクトで作業している場合、GITを使用してLaravel Webサイトを展開するときに衝突が発生する可能性があります。これらの競合を解決するには、GITの競合解決ツールを使用する必要があります。競合が発生した場合、Gitは変更ベースを一時停止し、競合を修正する機会を与えます。その後、

を使用して解決されたファイルを追加し、

を使用して再ゼンを続けることができます。作業を開始する前に、競合を最小限に抑えるために、常に最新の変更をリポジトリから引き出してください。

私のlaravelプロジェクトでgitブランチを効果的に使用する方法は?

Git Branchは、Laravelプロジェクトのさまざまなバージョンを管理するための強力なツールです。各機能またはバグ修正の新しいブランチを作成できます。これにより、メインコードベースに影響を与えることなく複数のタスクを同時に処理できます。タスクが完了したら、ブランチをメインコードベースに戻すことができます。この方法により、メインコードベースが安定してエラーがないことが保証されます。

GITを使用して、Laravel Webサイトの展開プロセスを自動化する方法は?

自動展開プロセスは、多くの時間と労力を節約できます。 gitフックを使用できます。これは、git、push、受信などのイベントの前後にGitが実行するスクリプトです。メインブランチにプッシュするたびに、Webサイトを自動的に展開するスクリプトを作成できます。このようにして、あなたのウェブサイトが常に最新の変更と一致していることを確認できます。

Gitを使用してLaravelプロジェクトの変更をロールバックする方法は?

gitは、変更をロールバックするいくつかの方法を提供します。 git revertを使用して、特定のコミットで行われた変更を取り消すための新しいコミットを作成できます。または、git resetを使用して、前のコミットにヘッドポインターを移動し、その後表示されるコミットを効果的に「忘れた」ことができます。変更を永続的に削除する可能性があるため、git resetを使用する場合は注意してください。

Gitで展開するときにLaravelプロジェクトを安全に保つ方法は?

セキュリティは、あらゆるWeb開発プロジェクトの重要な側面です。 GITでLaravelプロジェクトを展開するときは、.envなど)をファイルに追加して、リポジトリにコミットしないようにしてください。さらに、リポジトリからプッシュして引っ張るときは、SSHやHTTPSなどの安全なプロトコルが常に使用されます。 .gitignore

GITを使用してLaravelプロジェクトでデータベースの移行を管理する方法は?

Laravelの移行システムは、データベーススキーマを管理するための強力なツールです。プロジェクトを展開するときは、

を使用して、保留中の移行を適用できます。ただし、複数の開発者と協力する場合は、競合する移動が問題を引き起こす可能性があるため、注意してください。新しい移行を作成する前に、競合を回避するために、リポジトリから最新の変更を常に引き出してください。 php artisan migrate

GITを使用してLaravelプロジェクトで他の開発者と協力する方法は?

Gitは強力なコラボレーションツールです。ブランチを使用してさまざまな機能を同時に処理し、プルリクエストを使用して変更を確認してメインコードベースにマージできます。さらに、GITの競合解決ツールは、変更をマージしたときに発生する競合を解決するのに役立ちます。

Gitを使用してLaravelプロジェクトの変更を追跡する方法は?

gitは、プロジェクトのすべての変更の完全な履歴を提供します。

を使用してコミット履歴を表示し、git logを使用して特定のコミットで行われた変更を表示できます。これは、プロジェクトの進化をデバッグして理解するのに非常に役立ちます。 git diff

Gitで展開するときにLaravel Webサイトのパフォーマンスを最適化する方法は?

パフォーマンスの最適化は、Web開発の重要な側面です。 Gitを使用してLaravel Webサイトを展開するときは、Laravelの組み込みキャッシュを使用してパフォーマンスを向上させることができます。また、CDNを使用して静的リソースを提供し、画像やその他のリソースを最適化して積み込み時間を短縮することを検討してください。

Gitを使用してLaravelプロジェクトのエラーや例外を処理する方法は?

エラーと例外の正しい取り扱いは、スムーズなユーザーエクスペリエンスに不可欠です。 Laravelは、さまざまなタイプのエラーを処理するために使用できる強力な例外処理システムを提供します。エラーが発生した場合、GITを使用して、エラーを修正しながら前の安定した状態にロールバックできます。

以上がLaravelとGitを使用してWebサイトを展開しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Laravelでフラッシュセッションデータを使用しますLaravelでフラッシュセッションデータを使用しますMar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法PHPのカール:REST APIでPHPカール拡張機能を使用する方法Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキングLaravelテストでの簡略化されたHTTP応答のモッキングMar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPロギング:PHPログ分析のベストプラクティスPHPロギング:PHPログ分析のベストプラクティスMar 10, 2025 pm 02:32 PM

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Codecanyonで12の最高のPHPチャットスクリプトCodecanyonで12の最高のPHPチャットスクリプトMar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。PHPにおける後期静的結合の概念を説明します。Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。