Nginx 構成の全体的な理解
デフォルトでは、Nginx サーバー構成ファイルはインストール ディレクトリ Conf に保存され、メイン構成ファイルの名前は nginx.conf です。その内容は次のとおりです:
<code><span>#user nobody; #全局块</span> worker_processes <span>1</span>; <span>#error_log logs/<span>error</span>.log;</span><span>#error_log logs/<span>error</span>.log notice;</span><span>#error_log logs/<span>error</span>.log info;</span><span>#pid logs/nginx.pid;</span>events { <span>#events 块</span> worker_connections <span>1024</span>; } http { <span>#http块</span> include mime.types; <span>#http全局块</span> default_type application/octet-stream; <span>#log_format main '$remote_addr - $remote_user [$time_local] "$request" '</span><span># '$status $body_bytes_sent "$http_referer" '</span><span># '"$http_user_agent" "$http_x_forwarded_for"';</span><span>#access_log logs/access.log main;</span> sendfile on; <span>#tcp_nopush on;</span><span>#keepalive_timeout 0;</span> keepalive_timeout <span>65</span>; <span>#gzip on;</span> server { <span>#server块</span> listen <span>80</span>; <span>#server全局块</span> server_name localhost; <span>#charset koi8-r;</span><span>#access_log logs/host.access.log main;</span> location / { <span>#location块</span> root html; index index.html index.htm; } <span>#error_page 404 /404.html;</span><span># redirect server <span>error</span> pages to the static page /50x.html</span><span>#</span> error_page <span>500</span><span>502</span><span>503</span><span>504</span> /<span>50</span>x.html; location = /<span>50</span>x.html { <span>#location块</span> root html; } <span># proxy the PHP scripts to Apache listening on 127.0.0.1:80</span><span>#</span><span>#location ~ \.php$ { #location块</span><span># proxy_pass http://127.0.0.1;</span><span>#}</span><span># pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000</span><span>#</span><span>#location ~ \.php$ { #location块</span><span># root html;</span><span># fastcgi_pass 127.0.0.1:9000;</span><span># fastcgi_index index.php;</span><span># fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;</span><span># include fastcgi_params;</span><span>#}</span><span># deny access to .htaccess files, <span>if</span> Apache's document root</span><span># concurs with nginx's one</span><span>#</span><span>#location ~ /\.ht {</span><span># deny all;</span><span>#}</span> } <span># another virtual host using mix of IP-, name-, and port-based configuration</span><span>#</span><span>#server { #server块</span><span># listen 8000;</span><span># listen somename:8080;</span><span># server_name somename alias another.alias;</span><span># location / { #location块</span><span># root html;</span><span># index index.html index.htm;</span><span># }</span><span>#}</span><span># HTTPS server</span><span>#</span><span>#server {</span><span># listen 443 ssl;</span><span># server_name localhost;</span><span># ssl_certificate cert.pem;</span><span># ssl_certificate_key cert.key;</span><span># ssl_session_cache shared:SSL:1m;</span><span># ssl_session_timeout 5m;</span><span># ssl_ciphers HIGH:!aNULL:!MD5;</span><span># ssl_prefer_server_ciphers on;</span><span># location / {</span><span># root html;</span><span># index index.html index.htm;</span><span># }</span><span>#}</span>}</code>
設定ファイルから次のように要約できます
nginix.conf 構成は、グローバル ブロック、イベント ブロック、http ブロックの 3 つのブロックで構成されます。 http ブロックには複数のサーバー ブロックが含まれており、各サーバー ブロックには複数のロケーション ブロックを含めることができます。
設定ファイル内の各モジュールの意味
グローバルブロック
グローバルブロックは、デフォルト設定ファイルの先頭とイベントモジュールの間のコンテンツの一部です。主に、Nginx サーバーの全体的な動作に影響する構成指示を設定します。この指示の範囲は、グローバル Nginx サーバーです。
通常、Nginx サーバーを実行しているユーザー (グループ)、運用に許可されているワーカー プロセスの数、Nginix プロセスの PID ストレージ パス、ログ ストレージのパスとタイプ、構成ファイルの紹介などが含まれます。
イベント ブロック
イベント ブロック 関連する手順は主に、Nginx サーバーとユーザー間のネットワーク接続に影響します。一般的に使用される構成は次のとおりです:
複数のワーカープロセスの下でネットワーク接続のシリアル化を有効にするかどうか
複数のネットワーク接続を同時に受け入れることを許可するかどうか
接続リクエストを処理するために選択するイベント モデル
各ワーカー プロセスが同時にサポートできる接続の最大数など。
この部分の手順は、Nginix サーバーのパフォーマンスに大きな影響を与えます。実際の構成では、実際の状況に応じて柔軟に調整する必要があります。
http ブロック
http ブロックは、Nginix サーバー構成の重要な部分です。プロキシ、キャッシュ、ログ定義のほとんどの機能とサードパーティ モジュールの構成は、このモジュールに配置できます。 http グローバル ブロックの主な構成は次のとおりです:
ファイルの紹介
MIME タイプの定義
ログのカスタマイズ
ファイルの転送に sendfile を使用するかどうか。
接続タイムアウト
オンラインでの単一接続リクエストの数など。
仮想ホストの監視設定
仮想ホストの名前または IP 構成