ホームページ  >  記事  >  バックエンド開発  >  Nginx.conf 設定ファイルの分析

Nginx.conf 設定ファイルの分析

WBOY
WBOYオリジナル
2016-08-08 09:27:331179ブラウズ

追記: 私は Nginx を 2、3 年使っていますが、非常に基本的な質問をする新しいユーザーによく遭遇します。今日の午後は時間をかけて質問をまとめました。 Nginx の使用経験を基に、主要な構成パラメータの説明を共有し、いくつかのネットワーク コンテンツについても参照したいと思います。この記事は、現在、Nginx 構成パラメータに関する最も完全な中国語の説明です。モジュールパラメータの詳細については、http://wiki.nginx.org/Main

<code><br>#定义Nginx运行的用户和用户组<br>user www www;

#Nginx を実行するユーザーとユーザーグループを定義します

user www www;
code>

#nginx プロセス番号は、CPU コアの総数と同じに設定することをお勧めします。

worker_processes 8;

#グローバルエラーログ定義タイプ、[警告エラークリティカル]

error_log /var/log/nginx/error.log info;

#プロセスファイル

pid | run/nginx.pid;

#nginx プロセスによって開かれるファイル記述子の最大数。理論値は、開いているファイルの最大数 (システム値 ulimit -n) を nginx プロセスの数で割った値である必要がありますが、nginx の割り当ては異なります。リクエストは均一ではないため、ulimit -n で値の一貫性を保つことをお勧めします。

worker_rlimit_nofile 65535;

#動作モードと最大接続数
{
#参照イベント モデルは、Linux カーネル内にあります。バージョン 2.6 以降 ハイパフォーマンス ネットワーク I/O モデル (FreeBSD 上で実行している場合)、kqueue モデルを使用します。
epoll を使用;
#単一プロセスの最大接続数 (最大接続数 = 接続数 * プロセス数)
worker_connections 65535;
}

#http サーバーを設定します
http
{
mime を含めます。タイプ; #ファイル拡張子名とファイルタイプのマッピングテーブル
default_type application/octet-stream; #デフォルトのファイルタイプ
server_names_hash_bucket_size 128; #サーバー名のハッシュテーブルサイズ
client_header_buffer_size 32k; file size limit
large_client_header_buffers 4 64k; #リクエスト バッファを設定
sendfile on; #sendfile 命令は、nginx がファイルを出力するために sendfile 関数を呼び出すかどうかを指定します。ダウンロードなどのディスク IO の負荷が高いアプリケーションの場合は、オフに設定して、ディスクとネットワークの I/O 処理速度のバランスをとり、システム負荷を軽減できます。注: 画像が正しく表示されない場合は、これをオフに変更してください。
autoindex on; #ディレクトリ リスト アクセスを有効にし、サーバーのダウンロードに適しています。デフォルトでは閉じられています。
tcp_nopush on; #ネットワークのブロックを防ぐ
tcp_nolay on; #ネットワークのブロックを防ぐ
keepalive_timeout 120; #長い接続タイムアウト (秒単位) #FastCGI 関連のパラメーターは、Web サイトのパフォーマンスを向上させるためのものです: リソースの使用量を削減し、アクセス速度を向上させます。次のパラメータは文字通りに理解できます。
fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write _ size 128k;

#gzip モジュール設定
gzip on; #gzip 圧縮出力をオンにする

gzip_min_length 1k; #最小圧縮ファイルサイズ

gzip_buffers 4 16k; #圧縮バッファ
gzip_http_version 1.0; #圧縮バージョン (デフォルトは 1.1、フロントエンドが Squid2.5 の場合は 1.0 を使用してください)
gzip_types text/plain application /x-javascript テキスト/css application/xml;
#Compression 型にはデフォルトで text/html が含まれているため、以下に記述する必要はありません。記述しても問題ありませんが、警告が表示されます。
gzip_vary on;
#limit_zone クローラー $binary_remote_addr 10m; #IP 接続数の制限を有効にする場合に使用する必要があります

upstream blog.ha97.com {
#Upstream 負荷分散、重みは重み、重みは重みですマシン構成に応じて定義できます。重みパラメータは重みを表します。重みが大きいほど、割り当てられる確率が高くなります。
server 192.168.80.121:80weight=3;

server 192.168.80.122:80weight=2;

server 192.168.80.123:80weight=3;
}

#仮想ホストの設定
server
{

#リスニングポート

listen 80;
#スペースで区切って複数のドメイン名を使用できます
server_name www.ha97.com ha97.com;
indexindex.htmlindex.htmindex.php;
root /data/www/ha97;
location ~ .*.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
include fastcgi.conf;
}
#画像キャッシュ時間設定
location ~ .*.(gif| jpg|jpeg|png|bmp|swf)$
{
有効期限 10 日;
}
#JS および CSS のキャッシュ時間設定
location ~ .*.(js|css)?$
{
有効期限 1 時間;
}
#ログ形式設定
log_format アクセス '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#この仮想ホストのアクセス ログを定義します
access_log /var /log/nginx/ha97access.log アクセス;

#「/」のリバース プロキシを有効にする
location / {
proxy_pass http://127.0.0.1:88;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
#バックエンド Web サーバーは X-Forwarded を渡すことができます-ユーザーの実際の IP を取得する
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#以下は、オプションのリバース プロキシ構成の一部です。
proxy_set_header Host $host;
client_max_body_size 10m; #クライアントによって要求される単一ファイルの最大バイト数
client_body_buffer_size 128k; #バッファプロキシバッファリングクライアントによって要求される最大バイト数
proxy_connect_timeout 90; # nginx とバックエンド サーバーの接続タイムアウト (プロキシ接続タイムアウト)
proxy_send_timeout 90; #バックエンド サーバー データ返信時間 (プロキシ送信タイムアウト)
proxy_read_timeout 90; #接続成功後のバックエンド サーバー応答時間 (プロキシ受信タイムアウト)
proxy_buffer_size 4k; #設定 ユーザーのヘッダー情報を保存するプロキシ サーバー (nginx) のバッファ サイズ
proxy_buffers 4 32k; #proxy_buffers バッファ、Web ページの平均設定は 32k 未満です
proxy_busy_buffers_size 64k; #高負荷時のバッファ サイズ (proxy_buffers*2) )
proxy_temp_file_write_size 64k;
#キャッシュフォルダーのサイズを設定します。この値より大きい場合は上流サーバーから送信されます
}

#Nginxステータスを表示するアドレスを設定します
location /NginxStatus {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;
#htpasswd ファイルの内容は、Apache が提供する htpasswd ツールを使用して生成できます。
}

#ローカルの動的および静的分離リバース プロキシ構成<code>#本地动静分离反向代理配置<br>#所有jsp的页面均交由tomcat或resin处理<br>location ~ .(jsp|jspx|do)?$ {<br>proxy_set_header Host $host;<br>proxy_set_header X-Real-IP $remote_addr;<br>proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>proxy_pass http://127.0.0.1:8080;<br>}<br>#所有静态文件由nginx直接读取不经过tomcat或resin<br>location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$<br>{ expires 15d; }<br>location ~ .*.(js|css)?$<br>{ expires 1h; }<br>}<br>}<br>#すべての jsp ページは Tomcat または樹脂によって処理されます
location ~ .(jsp|jspx|do)?$ {

proxy_set_header Host $host;proxy_set_header X -Real-IP $remote_addr;

proxy_set_header .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3 |wma)$

{ 有効期限 15 日; }

location ~ .*.(js|css)?$

{ 有効期限 1 時間; }

}

}🎜🎜 モジュールパラメータの詳細については、http を参照してください。 ://wiki.nginx.org/Main🎜 🎜🎜固定リンク: http://www.ha97.com/5194.html🎜 🎜 上記では、関連するコンテンツを含む Nginx.conf 設定ファイルの分析が紹介されており、PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:php 石鹸の使用法次の記事:php 石鹸の使用法