検索
ホームページバックエンド開発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 までご連絡ください。
PHPセッションがすでに開始されているかどうかを確認するにはどうすればよいですか?PHPセッションがすでに開始されているかどうかを確認するにはどうすればよいですか?Apr 30, 2025 am 12:20 AM

PHPでは、session_status()またはsession_id()を使用して、セッションが開始されたかどうかを確認できます。 1)session_status()関数を使用します。 php_session_activeが返された場合、セッションが開始されました。 2)SESSION_ID()関数を使用します。空の文字列が返された場合、セッションが開始されます。どちらの方法でもセッション状態を効果的に確認でき、使用する方法を選択することは、PHPバージョンと個人的な好みに依存します。

Webアプリケーションでセッションを使用することが不可欠なシナリオを説明してください。Webアプリケーションでセッションを使用することが不可欠なシナリオを説明してください。Apr 30, 2025 am 12:16 AM

Sessionsionsionsarevitalinwebapplications、特にコマースプラットフォームの前。

PHPでの同時セッションアクセスをどのように管理できますか?PHPでの同時セッションアクセスをどのように管理できますか?Apr 30, 2025 am 12:11 AM

PHPでの同時セッションアクセスの管理は、次の方法で実行できます。1。データベースを使用してセッションデータを保存します。これらの方法は、データの一貫性を確保し、並行性のパフォーマンスを向上させるのに役立ちます。

PHPセッションを使用することの制限は何ですか?PHPセッションを使用することの制限は何ですか?Apr 30, 2025 am 12:04 AM

phpsessionshaveverallimitations:1)storagecconstraintscanleadtoperformanceissues; 2)securityvulnerablesliasitylikessessionfixationAttacksicexist;

負荷分散がセッション管理にどのように影響し、それに対処するかを説明します。負荷分散がセッション管理にどのように影響し、それに対処するかを説明します。Apr 29, 2025 am 12:42 AM

負荷分散はセッション管理に影響しますが、セッションの複製、セッションの粘着性、集中セッションストレージで解決できます。 1。セッションレプリケーションサーバー間のセッションデータをコピーします。 2。セッションスティンネスは、ユーザーリクエストを同じサーバーに指示します。 3.集中セッションストレージは、Redisなどの独立したサーバーを使用してセッションデータを保存してデータ共有を確保します。

セッションロックの概念を説明します。セッションロックの概念を説明します。Apr 29, 2025 am 12:39 AM

SESSIONLOCKINGISATECHNIQUESTOESUREAUSER'SSESSIONREMAINSEXCLUSIVETOONEUSATIME.ITISCRUCIALFORPREVENTINGDATACORTIONANDSECURITYBREACHESINMULTI-USERAPPLICATIONS.SESSIONLOCKINGISISIMPLEMENTEDUSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGROCKINGSMECHANISMなど

PHPセッションの選択肢はありますか?PHPセッションの選択肢はありますか?Apr 29, 2025 am 12:36 AM

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

PHPのコンテキストで「セッションハイジャック」という用語を定義します。PHPのコンテキストで「セッションハイジャック」という用語を定義します。Apr 29, 2025 am 12:33 AM

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

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

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター