いくつかの一般的な構成をnginxの

nginxのユーザおよびグループを実行の#define 
誰#USER、

プロセスの#nginx数は、設定がコアCPUの総数に等しい推奨しました。
。1 worker_processes; 
グローバルエラーログの種類を定義し、[デバッグ|情報|お知らせ|警告|エラー|クリティカル] 
#error_logログ/ error.logに、
#error_logログ/ error.logファイルを注意してください。
#error_logログ/情報error.logファイルを、

#プロセスファイル
nginx.pid#のPIDログ/; 

のnginxのプロセスは、ファイル記述子の数を開き、理論値はnginxのプロセスの数で割った数(のulimit -nシステムの値)ファイルが、割り当て要求とnginxのに開かなければなりません凹凸のは、それがのulimit -nの値と一致して提案されています。
65535 #worker_rlimit_nofile; 
作業モード及び接続の最大数
のイベント{ 

    コネクション#最大数単一プロセス(接続=接続の最大数プロセスの数は*)
    65535 worker_connections; 
基準イベントモデル、使用[たkqueue | rtsig |ファイルディスクリプタ |の/ dev /投票|選択|世論調査];のepollモデルカーネルのLinux 2.6以上の高性能ネットワークI / Oモデルを、FreeBSD上で実行した場合、モデルをkqueueの使用。 
    ファイルディスクリプタ#USE; 
} 

#HTTPサーバ集合
{HTTP 
    拡張ファイル#ファイルの種類のマップ
    のmime.typesを含めます。
 
    #デフォルトのファイルタイプ
    default_typeファイルapplication / octet-streamと; 

    #デフォルトのエンコーディング
    #文字セット-UTF 8; 

    ネームサーバハッシュテーブルのサイズ
    #server_names_hash_bucket_size 128; 
アップロードファイルサイズ制限
    #client_header_buffer_sizeの32K; 
クライアント要求の多数の読み取り及びバッファヘッドの最大サイズが
    64Kを#large_client_header_buffers 4; 
のnginxのは、この命令を処理することができ、要求本体の最大サイズを設定します。要求が指定したサイズよりも大きい場合は、バックnginxのHTTP 413(リクエストエンティティが大きすぎる)エラー。#大容量ファイルのアップロードを処理するサーバー場合は、命令は非常に重要です。
    8Mの#client_max_body_size、

    ログの形式を定義するために使用#(フォーマットは、複数の、異なる名前を取ることができる定義することができるログ)
    メイン#log_format「REMOTE_ADDR $ - $ REMOTE_USER [$ time_local] 『$リクエスト』」
    #「$ステータス$ body_bytes_sent 『$ HTTP_REFERER』」 
    # ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';

    #は、この仮想ホストとどのようなログ形式のログを使用して、ログファイルにアクセスするためのパスを指定するために使用されます
    ログ#access_log / access.logをメイン; 

    ディスクIOヘビーデューティーアプリケーションをダウンロードするために使用されるアプリケーションは、提供することができる場合#オープン効率的なファイル転送モード、nginxのsendfileの命令は、上への一般的なアプリケーションのための関数呼び出しsendfileの出力ファイルかどうかを指定しますネットワーク、ディスクI / O処理速度のバランスをとると、システムの負荷を軽減すること、オフになっています。注意:画像が正しく、このオフに入れて表示されていない場合。
    sendfileをON; 
オープンアクセスディレクトリリストは、デフォルトではオフに、適切なサーバーをダウンロードしてください。
    #autoindexオン; 

    #「は相互に排他的な」ネットワークの輻輳、TCP_NOPUSH構成とTCP_NODELAYを防ぎます データ・パケット・サイズを送信するように設定することができます。これは、パケット送信後に特定のサイズに蓄積されたとき、それはパケット#0.2秒を送信した後の時間を蓄積していないが、、です。nginxのでは、TCP_NOPUSHは使用してはsendfileなければなりません。
    #tcp_nopush ON、

    ネットワークの混雑を防ぐために#重要。
    #tcp_nodelay ON; 
長い接続時間(秒) 
    0 #keepalive_timeout; 
    120 keepalive_timeout、


    サイトのパフォーマンスを向上させるために#FastCGI関連パラメータ:リソースの消費を低減する、アクセス速度を向上させます。

    #FastCGIのキャッシュディレクトリ構造のレベル、キー地域の保存時間と削除の非アクティブ時のパスを指定します。
    。#fastcgi_cache_pathは/ usr / local / nginxの/ fastcgi_cacheレベル= 1:2 = keys_zone TEST:5メートル10メートル=非アクティブ、

    #は、タイムアウトがFastCGIの後端に接続されている指定されました。
    300 #fastcgi_connect_timeout; 

    #1のFastCGI送信要求タイムアウト、タイムアウト値は双方向ハンドシェイクでのFastCGIを送信するための要求が完了した後。
    300 #fastcgi_send_timeout; 

    タイムアウト#1のFastCGI応答が受信され、この値は、タイムアウトがFastCGIの双方向ハンドシェイク応答を受信した後に完了したです。
    300 #fastcgi_read_timeoutは、

    #1のFastCGI特異的応答の第1の部分がはるかにバッファに必要な読み取り
    、64K #fastcgi_buffer_sizeを

    #FastCGIの応答をバッファリングするために使用されるローカル・バッファは、どのように多く、何を指定
    64Kを#fastcgi_buffers 4; 
デフォルトは2 fastcgi_buffersあります回。
    128K #fastcgi_busy_buffers_size;  
    #1のgzip圧縮出力開口

    #どのようにハードデータブロックfastcgi_temp_pathの書き込み時
    #fastcgi_temp_file_write_sizeの128Kと、

    配置#gzipモジュール

    ON #gzip; 
最小圧縮ファイルサイズ
    #gzip_min_length 1K; 
解凍バッファは、
    16Kを#gzip_buffers 4; 
圧縮バージョン(1.1デフォルトの先端使用がsquid2.5 1.0)であれば
    、#gzip_http_version 1.0 

    #圧縮レベル
    #gzip_comp_level 2; 
圧縮タイプ、デフォルトではすでにtextmlを含むので、以下のように記述し、問題がないだろうが、そこになりますアップ記述する必要はありません警告。
    ;テキスト#gzip_types /プレーンファイルアプリケーション/ X-JavaScriptのテキスト/ CSSファイルアプリケーション/ XML 

    レスポンスヘッダのヘッダフィールド:「エンコード受け入れヴァリ」と#gzipは機能が変速機を備えている
    、ON #gzip_vary 

    #ターンは、IP接続の数を制限します使用する必要
    #limit_zoneクローラの$ binary_remote_addrの10メートルを。

    #upstreamロードバランシング、量は重量であり、重量は、機械構成に応じて定義することができます。パラメータweigth高い大きなチャンスは重み値が割り当てられている、重量です。
    上流coreqi.cn {#
    #= 3サーバ192.168.80.121:80重量。
    サーバー192.168.80.122:80重量= 2#; 
    #=重量192.168.80.123:80サーバー3; 
    #} 

    #バーチャルホストの設定
    サーバー{ 

        #リスニングポート
        、80は聞く

        #スペースで区切って複数のドメイン名を持つことができます
        ローカルホストに、server_name ; 

        #ホームに設定する必要があります
        #INDEXのindex.htmlのindex.htm index.phpのを、

        ルートディレクトリ#指定された項目
        #ルート/データ/ WWW / ha97; 

        #、PHP の構成設定
        #場所〜*(PHP | PHP5 )..? の$ 
        #{ 
        #fastcgi_pass 127.0.0.1:9000; 
        位のindex.phpをfastcgi_index; ザはfastcgi.confを含み; 
        #}

        ピクチャーキャッシュ時間#設定
        ..#LOCATION〜*(GIF | JPG | JPEG | PNG | BMP | SWF)$ 
        #{ 
        #10dの有効期限; 
        #} 

        #js CSSのキャッシングと時刻の設定
        ..#LOCATION〜*(JS | CSS)$? を{ 
        IH番号有効期限; 
        #} 


        #が(取ることができ、複数の、異なる名前を定義することができる形式をログ)ログのフォーマットを定義するために使用された
        REMOTE_ADDRの$ - $ REMOTE_USER [$ time_local] "$リクエスト" '#のLOG_FORMATアクセスを

        #' $ステータスbody_bytes_sentの$ "$ HTTP_REFERER" ' 

        #' "$ HTTP_USER_AGENT" $ HTTP_X_FORWARDED_FOR「; 
デフォルトエンコーディング
        #charset KOI8-R< 
は、ログファイルにこの仮想ホストのアクセス・パスを指定し、使用する形式ログログ
        #access_logログをメイン/host.access.log;

        "/"有効リバースプロキシの#(ケースA)
        LOCATION / { 
            ルートHTML、
            インデックスのindex.htmlのindex.htm; 
        } 
        
        "/"有効リバースプロキシ上の#(ケースII)
        LOCATION / { 

        剤を転送#1を設定、もしproxy_passプラス/背後にあるURLは、絶対パスのルートを示し; /なしで、相対パス、また、離れたエージェントに一致経路部分を表します。
        http://127.0.0.1:88 proxy_pass; 

        ヘッダがホストパラメータを設定した場合、及び合意がある場合と矛盾が二次ディレクトリがある場合、及び#Nginxは、リバースプロキシない
        バックエンドサービスが何をするとき#302、301場所ジャンプの変換を行うためのバックエンドに応答ヘッダーで提供さproxy_redirectを必要なとき。
        OFF proxy_redirect; 

        X-実IP- $ REMOTE_ADDR proxy_set_header; 
バックエンドWebサーバーは、X-転送さ-の場合で、ユーザーの本当のIPを取得することができます
        proxy_set_headerのX-転送さ-について$ proxy_add_x_forwarded_for 。

        ここで#は、オプションの、いくつかのリバースプロキシ設定されています。
        Proxy_set_headerホストhost $は、

        #は、クライアントは、単一のファイルの最大バイト数を要求することを可能にする
        。client_max_body_sizeの10メートルは

        、#の緩衝剤は、クライアントから要求された最大バイト数をバッファリング
        128K client_body_buffer_size; 
バックエンドサーバとのプロキシ接続を#nginx接続時間をタイムアウト)
        90 proxy_connect_timeout; 
バックエンド・サーバー・データ・リターン時間(タイムアウトを送信する)
        90をproxy_send_timeout; 
接続が成功した後、バックエンドサーバーの応答時間は(プロキシが受信タイムアウト)
        90 proxy_read_timeout; 
プロキシ設定を(nginxの)ユーザヘッダ情報を保存しますバッファサイズ
        proxy_buffer_size 4K、

        バッファ、ページ32Kは平均の下方に配置され#proxy_buffers 
        proxy_buffersの32K 4; 
バッファサイズ(proxy_buffers * 2)高負荷
        proxy_busy_buffers_sizeの64K。

        上流のサーバ転送からこの値より大きい#セットキャッシュフォルダのサイズ、
        proxy_temp_file_write_sizeの64K; 
        } 

        #チェックnginxの状態設定アドレス
        LOCATION / NginxStatus { 
        stub_status ON; 
        access_logのON; 
        AUTH_BASIC "NginxStatus"; 
        auth_basic_user_fileのconfpasswd; 
        #htpasswdファイルコンテンツが生成するapacheのhtpasswdのツールを提供することができます。
        } 

        #ローカル静的および動的な分離は、プロキシの設定リバース
        すべてのJSPページは、Tomcatや樹脂処理に引き渡された#を
        LOCATION〜(JSP | JSPX |やる){$。?
        Proxy_set_header $ホストのホスト; 
        X-のReal-IP-$ REMOTE_ADDRをproxy_set_header; 
        X-をproxy_set_header $ proxy_add_x_forwarded_forのために-転送され、
        proxy_pass http://127.0.0.1:8080。
        } 

        #すべての静的ファイルは、nginxので読み取るか、直接Tomcatの樹脂なしている
        LOCATION〜*(HTM | .. HTML | GIF | JPG | JPEG | PNG | BMP | SWF | IOC | RAR | ZIP | TXT | FLV | MID | DOC | PPT | PDF | XLS | MP3 | WMA)$ { 
        15dは有効期限; 
        } 
        
        LOCATION〜*(JS | CSS)$ .. {?
        1H期限; 
        } 

        #エラーページの設定
        #error_page 404 /404.html; 

        サーバーエラー静的ページにリダイレクト/50x.html 
        #1 
        500 502 503 504 /50x.html error_pageを、
        {/50x.html LOCATION = 
            ;ルートHTMLは
        } 

        #プロキシPHPスクリプトは127.0.0.1:80でApacheを聞く
        であろう#1 PHPスクリプト127.0.0.1:80をリッスンするためにApacheのプロキシ 
        #location〜\。 {$ PHPの
        http://127.0.0.1#のproxy_pass。 
        #} 

        127.0.0.1:9000でリスンにFastCGIサーバにPHPスクリプトでの#のパス
        #のPHPスクリプトは127.0.0.1:9000聞いて、FastCGIのサーバに渡されます
        。#場所〜\ .phpの$ { 
        #をHTMLルート; 
        #fastcgi_pass 127.0.0.1:9000; のfastcgi_indexのindex.phpを; 
        #fastcgi_paramのSCRIPT_FILENAME /スクリプト$ fastcgi_script_name; インクルードがfastcgi_paramsが含まれ; 
        #} 

        #の.htaccessのApacheのドキュメントルートの場合、ファイルへのアクセスを拒否
        して#のnginxのの一つは同意
        #の場合Apacheのドキュメントルートドキュメントルートディレクトリnginxのは、.htaccessのファイルへのアクセス拒否されるに従って、
        〜{#場所/\.htを
        #はすべて拒否。
        }#
    } 


    #別の使用して、仮想IP-ホスト、名- 、およびポートベースの設定のミックス
    #IPベースの別の仮想ホスト設定、名とポートの組み合わせ
    の#server { 
    #8000を聞く; 
    #聞くsomenameの:8080; 
    別名another.alias SERVER_NAME somenameの#; 

    #LOCATION / { 
    #ルートHTML; 
    インデックスのindex.htmlのindex.htm; 
    #} 
    #} 


    #HTTPSサーバは、
    #HTTPSサーバ
    の#server { 
    #SSL 443聞く; 
    #のサーバー名localhostと; 

    #ssl_certificate CERT .PEM; 
    #ssl_certificate_keyのcert.key。

    #1 ssl_session_cache共有:SSL:1メートルを。
    #ssl_session_timeoutの5メートル。

    !!のssl_ciphers HIGH#:aNULL:MD5; 
    ;の#ssl_prefer_server_ciphers 

    #/ {位置
    #ルートHTML。
    #インデックスのindex.html index.htmを。
    #} 
    #} 

}

 

おすすめ

転載: www.cnblogs.com/fanqisoft/p/11244860.html
おすすめ