php 中 FastCGI与cgi的关系,何为fastcgi,cgifastcgi
php 中 FastCGI与cgi的关系,何为fastcgi,cgifastcgi
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持 在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因, 如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、 Fail-Over 特性等。
FastCGI的工作原理是:
(1) FastCGI进程管理器自身初始化,启动多个CGI解释器进程(多个php-cgi进程)并等 待来自Web Server的连接。在本文中,采用PHP-FPM进程管理器启动多个php-cgi FastCGI进 程。启动php-cgi FastCGI进程时,可以配置以TCP和UNIX套接字两种方式启动。
(2) 当客户端请求到达Web服务器(Nginx)时,Web服务器将请求采用TCP协议或UNIX 套接字方式转发到FastCGI主进程,FastCGI主进程选择并连接到一个CGI解释器(子进程)。 Web服务器将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
(3)
FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web服务器(Nginx).
当FastCGI子进程关闭连接时,请求便告知处理完成。FastCGI子进程接着等待并处理来自FastCGI 进程管理器的下一个连接。而在一般的普通CGI模式中,php-cgi在此便退出了。
所以,你可以想象普通的CGI模式有多慢。每一个Web请求PHP都必须重新解析php.ini、 重新载入全部扩展并重新初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生 一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。
PHP FastCGI 的优点:
(1) PHP脚本运行速度更快。PHP解释程序被载入内存而不用每次需要时从存储器读取, 此举极大提升了依靠脚本运行站点的性能。
(2) 须要使用的系统资源更少。由于服务器不用在每次需要时都载入PHP解释程序,你可 以将站点的传输速度提升很多而不必增加CPU负担。
(3) 不需要对现有的代码作任何改变。运行在Apache+PHP上的程序,无须修改即可适用 于 PHP 的 FastCGI。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











Ubuntu で PHP-FPM がない問題を解決するには、特定のコード サンプルが必要です。Ubuntu システムでは、PHP-FPM のインストールと構成は一般的な操作ですが、インストール プロセス中に PHP-FPM が見つからないという問題が発生することがあります。この記事では、この問題の解決方法を詳しく説明し、インストールと構成を完了するのに役立つ具体的なコード例を示します。 1. PHP-FPM がインストールされているかどうかを確認します まず、次のコマンドを使用して、PHP-FPM がシステムにインストールされているかどうかを確認します: dpkg-l|gr

Linux 環境で PHP7-FPM が起動できない問題を解決する方法 Linux サーバーを使用して Web サイトやアプリケーションを構築する場合、PHP7-FPM は一般的に使用される PHPFastCGI プロセス マネージャーです。ただし、場合によっては PHP7-FPM が起動できず、Web サイトに正常にアクセスできなくなる場合があります。この記事では、一般的な回避策をいくつか取り上げ、具体的なコード例を示します。この情報が、PHP7-FPM の起動失敗の問題を迅速に解決するのに役立つことを願っています。診る

Linux 上の PHP7-FPM は、一般的な PHPFastCGI プロセス マネージャーであり、通常は PHP プログラムの実行を処理するために使用されます。ただし、構成または展開プロセス中に、PHP7-FPM の起動に失敗し、Web サイトに正常にアクセスできなくなる状況が発生する場合があります。この場合、問題に対処し、解決するための何らかの措置を講じる必要があります。 1. エラーログを確認する まず PHP7-FPM のエラーログを確認します 通常、エラーログは /var/log/php7-fpm にあります。

グレースフル リスタート GR は Graceful Restart の略で、プロトコルの再起動時に転送サービスが中断されないようにする仕組みです。 GR メカニズムの核心は、デバイスがプロトコルを再起動すると、周囲のデバイスに通知して、一定期間内に安定したネイバー関係とデバイスへのルートを維持することができることです。プロトコルの再起動後、周辺デバイスは情報 (GR をサポートするルーティング/MPLS 関連プロトコルによって維持されるさまざまなトポロジ、ルーティング、およびセッション情報を含む) の同期を支援し、デバイスを再起動前の状態に最短時間で復元します。州。プロトコル再起動処理全体で経路のフラッピングやパケット転送経路の変更はなく、システム全体が中断することなくデータを転送できます。このプロセスはスムーズな再起動と呼ばれます。

弊社の Web プロジェクトでは、新しい都市の増加によりアクセス数が増加し、DB への負荷が増大しており、インターフェースを提供するビジネス パーティとして、最近大量の「502」リクエストが報告されています。下流側のフィードバックによって。 502 (badgateway) は通常、アップストリーム (ここでは PHP) でのエラーです。PHP の場合、502 の一般的な原因は、スクリプトの実行がタイムアウト設定時間を超えているか、タイムアウト設定が大きすぎて、PHP プロセスが実行されないことです。長期間解放され、暇な労働者がいないため、ゲストを迎えに行くプロセス。今回のプロジェクトは、PHP の実行時間の設定が短すぎることが原因です。この場合、まず PHP の実行時間を適切に増やし、502 を確実にクリアすることができます。結局のところ、最適化にはコストがかかります。

Ubuntu システムに PHP-FPM が存在しないという問題を解決するには、一連の手順に従って PHP-FPM をインストールして構成する必要があります。 PHP-FPM (FastCGIProcessManager) は、動的なページ要求を処理し、PHP アプリケーションのパフォーマンスと安定性を向上させるプロセス マネージャーです。以下では、この課題を解決するのに役立つ具体的なコード例とともに、Ubuntu システムに PHP-FPM をインストールして構成する方法を詳しく説明します。ステップ 1: システムのアップデートが進行中です

nginxはapacheとは異なり、apacheではphpのエラーログを直接指定できるため、php実行時のエラー情報が直接phpのエラーログに入力され、簡単に参照することができます。 nginx では、状況は次のようになります。nginx はページ訪問のアクセス ログのみを記録します。 PHP エラーログ情報は表示されません。 nginx は php へのリクエストを php-fpmfastcgi プロセスに送信して処理しますが、デフォルトの php-fpm では php-fpm のエラーメッセージのみが出力され、php-fpm のエラーログには php のエラーログは表示されません。理由は、php-fpmの設定ファイルphpが

Linux サーバー上のサーバー側スクリプト実行環境として PHP7-FPM を使用するのが一般的ですが、場合によっては起動例外が発生することがあります。この記事では、PHP7-FPM の起動例外に対処するためのいくつかのテクニックを紹介し、読者が問題をより適切に解決できるようにいくつかの具体的なコード例を示します。 1. 設定ファイルを確認する PHP7-FPM の設定ファイルは通常、/etc/php/7.x/fpm/pool.d/ ディレクトリにあり、設定ファイル内の設定が正しいことを確認します。作れます
