目次
ThinkPHP とは何ですか?
効果のプレビュー
環境準備
最初の例: ThinkPHP サンプル アプリケーションをすばやく初期化してデプロイする
第二个示例:快速迁移一个已有的 ThinkPHP 应用
总结
ホームページ PHPフレームワーク ThinkPHP サーバーレスベースの TP フレームワーク アプリケーションを構築する方法

サーバーレスベースの TP フレームワーク アプリケーションを構築する方法

Aug 05, 2021 pm 04:13 PM
thinkphp

まず、この記事に登場するいくつかの重要な概念を紹介します。

Function Compute: Function Compute はイベント駆動型のサービスであり、Function Compute を通じてユーザーはサーバーの実行ステータスを管理する必要はなく、コードを記述してアップロードするだけで済みます。 Function Compute は、コンピューティング リソースを準備し、弾力的にスケーラブルな方法でユーザー コードを実行します。ユーザーは、実際のコードの実行によって消費されたリソースに基づいてのみ料金を支払います。関数計算の詳細については、「 」を参照してください。
Fun: Fun は、サーバーレス アプリケーションのデプロイメントをサポートするために使用されるツールで、関数コンピューティング、API ゲートウェイ、ログ サービスなどのリソースを簡単に管理するのに役立ちます。これは、リソース構成ファイル (template.yml) を介した操作の開発、構築、およびデプロイを支援します。 Fun に関するその他のドキュメント参照。

注: この記事で紹介する手法には、Fun バージョン 3.6.3 以上が必要です。

推奨チュートリアル: 「thinkphp チュートリアル

ThinkPHP とは何ですか?

ThinkPHP は、無料のオープンソースで、高速かつシンプルなオブジェクト指向の軽量 PHP 開発フレームワークであり、アジャイルな WEB アプリケーション開発と簡素化されたエンタープライズ アプリケーション開発のために生まれました。 ThinkPHP は誕生以来、シンプルで実用的な設計原則を堅持しており、優れたパフォーマンスと最小限のコードを維持しながら、使いやすさにも重点を置いています。 Apache2 オープン ソース ライセンス契約に基づいて公開するということは、ThinkPHP を無料で使用できることを意味し、ThinkPHP に基づいて開発したアプリケーションをオープン ソースまたは商用製品として公開/販売することもできます。

効果のプレビュー

この記事に含まれる 2 つのアプリケーション例をデプロイした後、リンクをクリックして効果をプレビューします:

  1. ThinkPHP 公式サンプル: http: //13492727- 1986114430573743.test.functioncompute.com
  2. ThinkPHP ブログの例: http://13500180-1986114430573743.test.functioncompute.com
  3. ThinkPHP ブログの例管理バックエンド: http:// 13500180-1986114430573743. test.functioncompute.com/admin

環境準備

まず、Fun のインストールドキュメントに紹介されている方法に従って、本機に Fun をインストールします。

PS: この記事で紹介する方法では、Docker のインストールは必要なく、Fun のみをインストールする必要があります。最も簡単な方法は、実行可能なバイナリ ファイルを直接ダウンロードすることです。

インストールが完了したら、 fun --version を実行して、Fun が正常にインストールされたかどうかを確認できます。

最初の例: ThinkPHP サンプル アプリケーションをすばやく初期化してデプロイする

thinkphp サンプルを初期化する:

composer create-project topthink/think tp
ログイン後にコピー

テストのためにサンプルをローカルで実行する:

php think run
ログイン後にコピー

あなた

従来の開発方法では、ローカル開発が完了した後、デプロイメント作業を実行する必要があります。 PHP アプリケーションでは、次の手順が必要になる場合があります。

  1. ECS などの物理マシンを購入します。
  2. 物理マシンにパブリック IP をバインドし、php、nginx、php-fpm## をインストールします。
  3. #nginx、php-fpm を構成し、アプリケーションをマシンにアップロードします
  4. テストを実行します
最も複雑なのはステップ 2 と 3 です。環境が異なれば動作も異なり、落とし穴も多くなるでしょう。アプリケーションを Function Compute にデプロイする方法を示します。

fun deploy
ログイン後にコピー
ログイン後にコピー
コマンドを 1 つだけ実行すると、Fun は自動的に展開プロセスに入ります。このプロセスでは、ユーザーは Enter キーを連打するだけで済みます。プロセスの詳細は次のとおりです。

    Fun は、これが Fun プロジェクトではないことを検出し、作成の支援を求めるプロンプトを表示します (Enter キーを押すか、y を入力するだけです)

  1. Fun プロジェクトが自動的に正常に作成され、デプロイするかどうかを確認するメッセージが表示されます。 Enter を直接押すか、y を入力して確認することができます

  2. #Fun はアプリケーションをオンラインで直接デプロイします

  3. ##デプロイメントが完了すると、成功したデプロイメント ログから、Function Compute が一時的なドメイン名 13492727-1986114430573743.test.functioncompute.com を生成したことがわかります。この一時的なドメイン名を通じて直接アクセスできます。ドメイン名: 先ほどデプロイしたアプリケーション。

    备注:临时域名仅仅用作演示以及开发,是有时效的,如果用作生产,请绑定已经备案的域名。

    第二个示例:快速迁移一个已有的 ThinkPHP 应用

    这里我们拿一个开源的 ThinkPHP 博客做示例:https://github.com/wolf-leo/Wolf-Blog

    首先我们需要将 blog 克隆下来:

    git clone https://github.com/wolf-leo/Wolf-Blog.git
    ログイン後にコピー

    使用 composer 安装依赖:

    composer install
    ログイン後にコピー

    在要使用的 mysql 数据库上新建一个名为 blog_test 的 database。然后编辑 config/database.php 文件,修改其中的数据库地址、用户名、密码信息。

    // ... ...
    return [
        // ... ...
        // 服务器地址
        'hostname' => '192.168.17.104',
        // 数据库名 测试数据库名称 不用修改 否则默认安装会出错
        'database' => 'blog_test',
        // 用户名  需要修改的地方
        'username' => 'root',
        // 密码     需要修改的地方
        'password' => 'root',
        // ... ...
    ];
    ログイン後にコピー

    修改完成后,就可以本地启动查看效果了:

    $ php think run
    
    ThinkPHP Development server is started On <http://127.0.0.1:8000/>
    You can exit with `CTRL-C`
    Document root is: /examples/php/Wolf-Blog/public
    ログイン後にコピー

    然后打开 http://localhost:8000 可以直接看到效果。

    本地测试没问题后,就要进行部署了。部署前,我们需要知道,由于函数计算运行时代码目录本身是不可以修改的,而 ThinkPHP 会在代码目录下的 Runtime 这个目录写一些缓存文件,我们需要将这个缓存文件放到 /tmp 下面。在我们的例子中就是将 thinkphp/library/think/App.php 这个文件的第 174 行做如下修改:

    - $this->runtimePath = $this->rootPath . 'runtime' . DIRECTORY_SEPARATOR;
    + $this->runtimePath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;
    ログイン後にコピー

    修改完成后可以直接使用以下命令进行部署:

    fun deploy
    ログイン後にコピー
    ログイン後にコピー

    经历与第一个示例一样的步骤后,我们可以得到一个可以访问的临时域名进行测试:13500180-1986114430573743.test.functioncompute.com。打开该临时域名,可以预览到与本地运行一样的效果。

    还可以访问 13500180-1986114430573743.test.functioncompute.com/admin 打开该应用的管理后台:

    总结

    本文主要介绍了如何将 ThinkPHP 应用部署到函数计算。相比较与传统的部署方法,不仅没有更复杂,还省略了购买机器、安装配置 Nginx、安装配置 php-fpm 等步骤。可以实现,将传统的 ThinkPHP 应用在本地开发完成后,一键部署到远端直接用于生产,并拥有了弹性伸缩、按量付费、免运维等特性。

以上がサーバーレスベースの TP フレームワーク アプリケーションを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 Nov 22, 2023 pm 12:01 PM

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件が​​ますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

thinkphpのパフォーマンスはどうですか? thinkphpのパフォーマンスはどうですか? Apr 09, 2024 pm 05:24 PM

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

ファイル転送機能を実現するThinkPHP6とSwooleをベースとしたRPCサービス ファイル転送機能を実現するThinkPHP6とSwooleをベースとしたRPCサービス Oct 12, 2023 pm 12:06 PM

ThinkPHP6 と Swoole をベースとした RPC サービスがファイル転送機能を実装 はじめに: インターネットの発展に伴い、ファイル転送は私たちの日常業務においてますます重要になってきています。この記事では、ファイル転送の効率化とセキュリティを向上させるために、ThinkPHP6とSwooleをベースとしたファイル転送機能を実現するRPCサービスの具体的な実装方法を紹介します。 WebフレームワークとしてThinkPHP6を使用し、SwooleのRPC機能を利用してサーバー間のファイル転送を実現します。 1. 環境基準

See all articles