検索

元のリンク: http://blog.csdn.net/xyang81/article/details/51814787

Nginx 構成はモジュール単位で編成されており、各モジュールには 1 つ以上の命令が含まれており、その命令は最小の構成ファイルに含まれています。構成単位では、すべての構成項目は命令です。たとえば、http コア モジュールの include、default_type、および sendfile 命令はすべて http モジュールに属します。すべての nginx モジュールの手順については、公式ドキュメントを参照してください: http://nginx.org/en/docs/dirindex.html

<code>注意:以下配置中的“上下文”表示指令可以配置在哪些模块中。
main:顶层配置,约束服务器的行为
</code>

1. サーバーレベルのコア構成

最大数を設定しますnginx が開くことができるファイル記述子の数。 Linux には各プロセスで開くことができるファイル記述の数に制限があるため、通常、デフォルトは 1024 です。Linux がデフォルトで開くことができるファイル ハンドルの数の制限は、ulimit -n FILECNT または /etc を使用して変更できます。 /securit/limits.conf 設定。推奨値は、システムの最大数/プロセスの数です。ただし、プロセス間の負荷は均等に分散されていないため、より大きく設定することができます。推奨値: 655350のパスを設定しますエラーログファイルとログレベル。ログ レベルには、デバッグ、情報、通知、警告、エラー、クリティカル、アラート、および緊急が含まれます。 nginxのログはsyslogを利用して出力されるため、出力されるログ形式は一定であり、システム運用保守担当者はログルールに従ってエラーチェックや統計分析を行うことができます。詳細については、公式ドキュメントを参照してください: http://nginx.org/en/docs/ngx_core_module.html#error_log nginx デーモン ID ストレージ ファイル パスを設定します (ワーカー プロセスではありません)
コマンド コンテキスト 構文 デフォルト値 機能の説明
user main userEveryone nobyd; nobody ワーカースレッドを実行するためのユーザー権限
デーモン main デーモンはい; はい nginxがデーモンとして実行されるかどうか?
worker_processes main worker_processesnumber; 1 ワーカープロセスの数を構成します。従来の Web サーバー (Apache など) はすべて同期ブロッキング モデルであり、1 つのリクエストが入力される (スレッド) モードであり、受信 (スレッド) の数がある程度増加すると、スレッドとプロセスの切り替えにより多くの CPU 時間が浪費され、パフォーマンスが低下します。急激に変化するため、負荷率は高くありません。 Nginx はイベントベースのノンブロッキング多重化 (epoll または kquene) モデルであり、1 つのプロセスが短期間に多数のリクエストに応答できます。一般に、この値を CPU コアの数以下に設定することをお勧めします。CPU コアの数よりも大きい場合は、メリットが得られません。むしろ、プロセス切り替えのオーバーヘッドに悪影響を及ぼす可能性があります。
worker_connections events worker_connectionsnumber; 1024 プロセスごとに許可される同時接続の最大数を示す、同時応答機能の主要な構成値。 maxConnection = work_connections * work_processes; 通常、ブラウザは同時に 2 つの接続を開きます。nginx が到着した後のサーバーへの接続数も 2 つになります。通常、maxConnection = work_connections * work_processes / 2; アンチプロキシ サーバーとして動作する場合、maxConnection = work_connections * work_processes / 4;
use events use epoll; さまざまなプラットフォームに応じて、最も効率的なものを選択します接続処理メソッド 接続要求の処理メソッドメソッドを指定します。 Linux カーネル 2.6 以降では、デフォルトで epoll メソッドが使用されます。他のプラットフォームについては、http://nginx.org/en/docs/events.html を参照してください。 注: 超高負荷下で最高のネットワーク応答機能を実現するには、ネットワークを最適化する必要があります 関連する Linux カーネル パラメーター
worker_cpu_affinity main worker_cpu_affinity cpumask…; None ワーカー プロセスを特定の CPU にバインドし、プロセス間の切り替えによる CPU オーバーヘッドを削減します。バイナリ ビットを使用して、プロセスがどの CPU コアにバインドされているかを示します。たとえば、8 コアと 4 プロセスを使用する場合の設定方法は次のようになります。 Linux カーネル ファイル記述子の数
error_log main、http、mail、stream、server、location error_log ログ ファイルのパス ログ レベル; error_log logs/error.log error;
pid main pid デーモン ソケット ファイル パス; pid logs/nginx .pid

上記は、サーバーレベルの動作を管理する nginx のトップレベルの構成です。設定の詳細については、公式ドキュメントを参照してください: http://nginx.org/en/docs/ngx_core_module.html#working_directory

2. HTTP モジュールのコア設定

nginx は、最も一般的に接続される HTTP リバース プロキシ サーバーです。 http リクエストに関連する設定である必要があります。http モジュールに関連するすべての設定は http { ... } 設定に配置されます。

tcp_nolay と tcp_nopush の 2 つのパラメータが一緒に使用され、これら 2 つの設定が有効になっている場合、データ パケットが特定のサイズに達した後にデータが送信されます。これにより、ネットワーク通信の数が減り、ブロックされる可能性が低くなりますが、応答の適時性にも影響します。ファイルのダウンロードなどのビッグデータ通信のシナリオに適しています。 クライアントがサーバーへの接続を確立するためのタイムアウト。指定された時間が経過すると、サーバーは切断されます。デフォルトは 75 秒です。各接続の生存時間を減らすと、応答する接続の数がある程度増加する可能性があるため、一般にこの値は適切に減らすことができます コンテンツ圧縮をオンにすると、クライアントのアクセス トラフィックとネットワーク帯域幅を効果的に削減できます 単位は k で、デフォルトは 20k です。コンテンツが最小長を超える場合にのみ圧縮をオンにします。短すぎるコンテンツは適切に圧縮されず、圧縮プロセスによってシステム リソースも浪費されるためです。この圧縮された長さは、http 応答ヘッダーの Content-Length フィールドとしてクライアントに返されます。 推奨値: 1000圧縮レベル、デフォルト値は1です。範囲は 1 ~ 9 です。圧縮レベルが高いほど圧縮率も高くなりますが、システム パフォーマンス要件も高くなります。推奨値: 4圧縮コンテンツタイプ、デフォルトはtext/html;。一般的にはhtmlテキストのみを圧縮します。js、css、jsonなどの一般的なテキストデータを組み合わせることができます。例: text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
コマンド コンテキスト 構文 関数の説明
types http、server、location types { MIMEタイプファイルサフィックス }; Config;処理できるファイルの種類を確認してください。例: text/html html htm shtml;
include any include file path; 外部ファイルの内容を構成として nginx.conf ファイルにコピーします。例: include mime.type; 現在のディレクトリにある mime.type 設定ファイルを nginx 設定ファイルにコピーします。ファイル パスは相対パスまたは絶対パスにすることができます。ファイル名には、* を使用してワイルドカード文字を表すことができます。
default_type http、サーバー、場所 default_type MIME タイプ; ファイル名とサフィックスのマッピング関係。デフォルトの MIME タイプを設定します。 要求されたファイル タイプが type ディレクティブで見つからない場合は、default_type で指定されたタイプが使用されます。デフォルトはテキスト/プレーンタイプです。
access_log http、サーバー、場所、場所にある場合は、limit_例外 access_logパス[format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
access_log off;
アクセス ログをオフまたは有効にします。デフォルト設定は次のとおりです: access_log logs/access.log combined で定義されたログ形式が、http モジュールのデフォルト形式である logs/access.log ファイルに書き込まれることを意味します。バッファーおよび gzip パラメーターのいずれかが定義されている場合、キャッシュがいっぱいになると、デフォルトでログが最初にキャッシュに書き込まれ、gzip 圧縮が有効になっている場合は、キャッシュ内のログが gzip によって圧縮されてファイルに書き込まれます。 、nginx モジュールのインストール時に gzip が追加されていることを確認する必要があります。キャッシュ サイズのデフォルトは 64K です。 gzip 圧縮レベルは 1 から 9 まで設定できます。レベルが高いほど、圧縮効率が向上し、ログ ファイルが占有するスペースは小さくなりますが、より高いシステム パフォーマンスが必要になります。デフォルト値は 1 です。 http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
log_format http log_format 形式名 ログ形式 でアクセスできる http アクセス ログの形式を定義します。ログ形式 httpモジュールの組み込み変数が存在する場合、ログとして出力されます。例: ddr requestなど。その他の変数については、http://nginx.org/en/docs/http/ngx_http_core_module.html#variablessendfileを参照してください。 http、サーバー、場所 (場所にある場合) sendfile オン | オフ カーネル コピー モードを有効にします。静的サーバーであると、最大 IO アクセス速度が向上します。従来のファイルの読み取りと書き込みのプロセスは次のとおりです: ハード ディスク>>> ユーザー バッファ>> sendfile を使用したファイルの読み取りと書き込みのプロセスは次のとおりです。ハードディスク >> カーネル バッファ (カーネルソケット バッファにすばやくコピー) >> プロトコル スタックでは、sendfile システム コールによってカーネル モードとユーザー モード間のスイッチとデータ コピーの数が減り、データが直接コピーされることがわかります。カーネル キャッシュからプロトコルまで、スタックにより効率が大幅に向上します。この記事で詳しく紹介します: http://xiaorui.cc/?p=1673tcp_nolayhttp,server,locationoff|on;tcp_nopushhttp,server , locationoff|on;
keepalive_timeout http,server,location keepalive_time 65;
gzip http、server、location、場所にある場合 gzip on | off;
gzip_min_length http、server、location gzip_min_length length;
gzip_comp_level http、サーバー、場所 gzip_comp_level 1~9;
gzip_types http、server、location gzip_types mime-type…;
open_file_cache http、server、location open_file_cache off; max =N [inactive=time]; デフォルト値はオフです。キャッシュの最大数とキャッシュされたファイルの未使用期間を設定します。推奨値: max=655350 (worker_rlimit_nofile パラメータと一致) inactive=20s;
open_file_
cache_min_uses
http,server,location open_file_cache_min_usesnumber; デフォルトは 1、有効期間内のファイル使用の最小数期間。推奨値: 2
open_file
_cache_valid
http、サーバー、場所 open_file_cache_valid time; デフォルトは60秒、検証キャッシュの有効期間。 これは、キャッシュされたファイルを 60 秒ごとにチェックし、20 秒以内に 2 回以上使用されなかったファイルはキャッシュから削除されることを意味します。 lru アルゴリズムを使用します。
server server { … } http HTTPサーバーの仮想ホストを構成するために使用されるHTTPサーバーのコア構成、複数の
listen listen ip[:port] サーバー 仮想ホストがリッスンする IP アドレスとポートを構成します。デフォルトでは、ローカル IP アドレスとポート 80 または 8000 をリッスンします。 IP のみが設定され、ポートが設定されていない場合は、デフォルトでポート 80 が使用されます。ポートのみが設定され、IP が設定されていない場合は、デフォルトでローカル IP が使用されます。詳細な設定については、http://nginx.org/en/docs/http/ngx_http_core_module.html#listen
server_name server_name domain_name …; server 仮想サーバーのドメイン名を設定します。 host では、スペースで区切って複数の を指定できます。デフォルトは空です
charset http、server、locationの場合は charset charset | off; URLパラメータの文字化けの問題に関連するリクエストのエンコーディングを設定します。
location server, location location [ = | ~ | ~* | ^~ ] uri { … }
location @name { … }
client エンドリクエストサーバーの URL アドレスの一致ルール。複数の一致ルールを設定できます
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記では、Nginx のコア構成をその側面も含めて詳しく説明しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP:サーバー側のスクリプト言語の紹介PHP:サーバー側のスクリプト言語の紹介Apr 16, 2025 am 12:18 AM

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPとWeb:その長期的な影響を調査しますPHPとWeb:その長期的な影響を調査しますApr 16, 2025 am 12:17 AM

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

なぜPHPを使用するのですか?利点と利点が説明されましたなぜPHPを使用するのですか?利点と利点が説明されましたApr 16, 2025 am 12:16 AM

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

神話を暴く:PHPは本当に死んだ言語ですか?神話を暴く:PHPは本当に死んだ言語ですか?Apr 16, 2025 am 12:15 AM

PHPは死んでいません。 1)PHPコミュニティは、パフォーマンスとセキュリティの問題を積極的に解決し、PHP7.xはパフォーマンスを向上させます。 2)PHPは最新のWeb開発に適しており、大規模なWebサイトで広く使用されています。 3)PHPは学習しやすく、サーバーはうまく機能しますが、タイプシステムは静的言語ほど厳格ではありません。 4)PHPは、コンテンツ管理とeコマースの分野で依然として重要であり、エコシステムは進化し続けています。 5)OpcacheとAPCを介してパフォーマンスを最適化し、OOPと設計パターンを使用してコードの品質を向上させます。

PHP対Pythonの議論:どちらが良いですか?PHP対Pythonの議論:どちらが良いですか?Apr 16, 2025 am 12:03 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトの要件に依存します。 1)PHPは、Web開発に適しており、学習しやすく、豊富なコミュニティリソースですが、構文は十分に近代的ではなく、パフォーマンスとセキュリティに注意を払う必要があります。 2)Pythonは、簡潔な構文と学習が簡単なデータサイエンスと機械学習に適していますが、実行速度とメモリ管理にはボトルネックがあります。

PHPの目的:動的なWebサイトの構築PHPの目的:動的なWebサイトの構築Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

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

ホットツール

MantisBT

MantisBT

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

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

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

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

SublimeText3 英語版

SublimeText3 英語版

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境