nginx 設定:
コードをコピーします。 コードは次のとおりです。
# サーバー上にファイル abc.jpg (http 経由) があるとします。 //filefs.domain .com/file/abc.jpg から元の画像にアクセスできます。実際、通常、データベースには「/file/abc.jpg」の内容のみが保存されます。
#ここで、サーバーによって http://filefs.domain.com/file/abc.jpg.w320 を通じて #abc.jpg.w320.jpg (w320、幅 320px) が自動生成されるようにする必要があります。 jpg スケッチマップ。画像データを返します。
# 次の 2 つの条件を満たす必要があります。
# 1. abc.jpg.w320.jpg が存在する場合、画像は再生成されません
# 2. 存在しない場合、同じリクエスト内で, 画像データを返却し、画像ファイルをサーバーに保存します。
サーバー {
listen 80;
サーバー名 filefs.domain.com;
ルート /var/www/http/filefs.domain.com;
場所 / {
Index Index.html Index.htm;
}
location ~ \.(png|jpg|jpeg|gif)$ {
} #ファイルが存在しない場合は、 image autoimg.php
if (!-f $request_filename) {
rewrite ^/.*$ /autoimg.php;
期限切れ max;
}
#ファイルが存在する場合は、設定します有効期限 時間、アクセス ログをオフにする
if (-f $request_filename) {
期限切れ max;
access_log off;
}
}
error_page 500 502 503 504 / 50x . html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ autoimg.php$ {#セキュリティ上の考慮事項、ファイルサーバー, このスクリプト ファイルの範囲のみが処理のために php に送信されます
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_param script_filename /var/www/http/filefs.domain.com$ fastcgi_script_name;
画像ファイルを生成するための /usr/local/nginx/conf/fastcgi_params;
}
}
#php コードを含めます:
以下のようにコードをコピーします:
$file = $_server ['request_uri'];//リクエスト文字列/file/abc.jpg.w320.jpg
$desfile = $_server ['document_root'] . $ file; //ターゲットの保存先パス/var/www/http/file/abc.jpg.w320.jpg
$dirname = dirname ($desfile) . "/";
$filename = Basename ( $desfile ) ;
if (preg_match ( "/([^\.] \.(png|jpg|jpeg|gif))\.w([\d] )\.(jpg)/i", $filename, $ m )) {
$srcfile = $dirname . $m [1];
$width = $m [3]; //出力ファイルの幅と一致させる
if (in_array ( $width, array ( // 幅 202 および 320 のファイルのみ生成します
202,
320
)) &&&FILE_EXISTS ($ SRCFILE) {// ファイルは存在しません
サムネイル ($ SRCFILE, $ Desfile, $ Desfile) , $width );
}
}
/**
* サムネイルの生成
*
* @param source $src
* @param スケーリングされた帯域幅 $width
*
*/
関数サムネイル($src, $des, $width) {
ob_start (); / /出力ストリームをインターセプトし始めます、0、0、0、127);
$ imageInfos [0]、$ imageInfos [1]);
、90 - 圧縮品質、100は最高品質を表します。
@imagedestroy ( $content = ob_get_contents ();//出力ストリームを取得する
ob_end_flush ();//ストリームを出力するWeb ページに送信し、画像データが最初のリクエストに戻されるようにします
@file_put_contents ( $des, $content );// ファイルを保存します
}
?>
レンダリング:
以上がNginxとPHPはどのように連携してリアルタイムサムネイル生成機能を実現しているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要なシナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

Nginxunitは、動的な構成と高性能アーキテクチャにより、アプリケーションの柔軟性とパフォーマンスを向上させます。 1.動的構成により、サーバーを再起動せずにアプリケーション構成を調整できます。 2.高性能は、イベント駆動型および非ブロッキングアーキテクチャおよびマルチプロセスモデルに反映され、同時接続を効率的に処理し、マルチコアCPUを利用できます。

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









