Nginxサーバ管理と配置


Ngixをインストールする過程
1最新バージョンのNginnx URLをダウンロードします。http://nginx.org/en/download.htmlを選択します http://nginx.org/download/nginx-0.8.53.tar.gz解圧して良いソースのカバンをダウンロードします。
2 tar zxvf nginx-0.0.53.tar.gzは解凍されたソースフォルダに入ります。
3 cd nginx-000.53配置nginx
4./configur--prefix=/usr/local/nginx--with-http_stubstatusmodule
prefixはインストールパスです。withはインストールが必要なモジュールのために具体的に実行できます。
5 make&make install
二管理Ngix
インテンクスを起動   /usr/local/inx/sbin/inx
ストップ  /usr/local/nginx/sbin/nginx-s stop
再読み込み  /usr/local/inx/sbin/nginx-s reload
//私がインストールしたTengine webサーバー
インテンクスを起動   /usr/local/tensine 2/sbin/inx
ストップ  /usr/local/tensine 2/sbin/nginx-s stop
再読み込み  /usr/local/tensine 2/sbin/nginx-s reload 
よくある問題:
1 nginxの設定で以下のエラーが発生した場合:
[emerg]: getpwnam(“www”) failed
解决案:nginx.co nfの中で〓user nobdyをuser wwwに変えてもいいです。
同じエラーがあったら、wwwセットとwwwユーザが存在するかどうかを確認してください。存在しないなら、直接作成すればいいです。
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
2  コンパイルnginx出現make:**No.rule to make target`build'need by`default'  Stop.
擬静的モジュールはpcreライブラリが必要です。先に入れます。
設置手順は以下の通りです。
tar zxvf pcre-70.90.tar.gz cd pcre-70.9/configure make&make install
そして:
./configure--user=web--group=web--prefix=/usr/local/nginx--with-http_stubstatusmodule--with-http_同前module--with-http_gzip_static.module  //注意ユーザmake&make install
3構成部分の解釈
構成nginx./configur--prefix=/opt/nginx--with-http_stubstatusmodule解釈:--prefixはインストールパスで、--with-必要なインストールモジュールのために、具体的に実行できます。 ./configre--help表示有効モジュール
4 configureコンパイルを使用する時、関連するコンポーネントが不足していることをヒントにします。以下はインストールのステップです。
A.依存ライブラリの設置 
  • yum install gcc openssl-devel pcre-devel zlib-devel   B.configur
    ./configure \   
     --prefix=/usr \   
     --sbin-path=/usr/sbin/nginx \   
     --conf-path=/etc/nginx/nginx.conf \   
     --error-log-path=/var/log/nginx/error.log \   
     --pid-path=/var/run/nginx/nginx.pid  \   
     --lock-path=/var/lock/nginx.lock \   
     --user=nginx \   
     --group=nginx \   
     --with-http_ssl_module \   
     --with-http_flv_module \   
     --with-http_gzip_static_module \   
     --http-log-path=/var/log/nginx/access.log \   
     --http-client-body-temp-path=/var/run/nginx/client/ \   
     --http-proxy-temp-path=/var/run/nginx/proxy/ \   
     --http-fastcgi-temp-path=/var/run/nginx/fcgi/ \   
     --http-uwsgi-temp-path=/var/run/nginx/uwsgi/ \   
     --http-scgi-temp-path=/var/run/nginx/scgi/ 
    を実行するNgixプロファイルの詳細説明
    ここでは、Nginxサーバnginx.com nfのプロファイル説明を記録し、一部の注釈収集とネットワーク。
    皰運行ユーザーuser wr-data;     #起動プロセスは、通常はcpuの数と同じようにウォーカーカーカーカーを設定します。processes  1;
    ボスグローバルエラーログとPIDファイルのerror_ロゴ  /var/log/inx/error.log;pid        /var/run/nginx.pid
    皱動作モード及び接続数上限events{    アメリカ   epoll;             #epollは、IO(I/O Multilexing)を多重化する方式ですが、linux 2.6以上のカーネルのみに使用することで、nginxの性能を大幅に向上させます。    ウォーカーカーカーconnections  1024;腡一つのバックグラウンドウォーカーprocessプロセスの最大同時リンク数    # multiaccept on;  }
    httpサーバーを設定し、その逆代理機能を利用して負荷バランスを提供しhttp{     #mimeタイプを設定し、タイプはmime.typeファイルで定義されます。    include       /etc/inx/mime.types;    default_タイプ  appication/octet-stream;    #ログフォーマットを設定    access_ロゴ    /var/log/inx/access.log;
        #sendfileコマンドは、inxがsendfile関数(ゼロcopy方式)を呼び出してファイルを出力するかどうかを指定します。    #onにしてください。ダウンロードなどのアプリケーションディスクでIO重負荷アプリケーションを行うと、offに設定して、ディスクとネットワークI/O処理速度をバランスよくして、システムのup timeを低減します。    sendfile        on;    #tcp_nopush     on;
        #接続タイムアウト時間    #keepalive_タイムアウト  0;    keepalive_タイムアウト  65;    tcp_nodelay        on;         #開くgzip圧縮    gzip  on;    gzip_disable"MSIE[1-6]\.(?!*SV 1)「;
        #設定要求バッファ    clientheader_ブザーsize    1 k    largeclientheader_ブffers  4 k
        include/etc/inx/conf.d/*.conf    include/etc/inx/sites-enabled/*;
        #負荷バランスを設定するサーバリスト     アップストリームmysvr{    #weigthパラメータは、ウェイトを表し、高いほど、割り当てられた確率が高くなります。    #本機のSquidは3128ポートを開けます。    server 192.168.8..1:3128 weight=5;    server 192.168.8.2:80  weight=1;    server 192.168.83:80  weight=6;    }
       server{    #リスニング80ポート        listen       80;        #www.xxxx.comを使用してアクセスすることを定義します。        server_name  wwww.xxxx.com
            #本仮想ホストのアクセスログを設定します。        access_ロゴ  logs/www.xx.com.access.logs  メーン
        #デフォルトの要求    location/{          root   /root;      #サーバのデフォルトのウェブサイトのルートディレクトリの位置を指定します。          index index.php index.index.httm.   #最初のページの索引ファイルの名前を定義します。
              fastcgi_パス  wwww.xxxx.com         fastcgi_パラム  SCRIPT_FILENAME  $document_root/$fastcgi_スクリプトname            include/etc/inx/fastcgi_params        }
        # エラーメッセージページの定義    error_page   500 502 503 504/50 x.           location=/50 x.        root   /root;    }
        #静止ファイル、inxは自分で処理します。    location~^/(imags javascript𞓜js flash media tatic)/{        root/var/www/virtual/httdocs;        #期限が30日過ぎても、静的なファイルはあまり更新されません。期限が切れたら、大きく設定できます。頻繁に更新すれば、小さく設定できます。        expires 30 d    }     #PHPスクリプト要求はすべてFastCGI処理に転送されます。FastCGIデフォルト設定を使用します。    location~\.php$        root/root;        fastcgi_pass 127..0.1:9000;        fastcgi_index index.php;        fastcgi_param SCRIPT_FILENAME/ホーム/www/www fastcgi_スクリプトname        include fastcgi_params    }     #Ngix状態を確認するアドレスを設定します。    location/NgixStatus{        stubstatus            on;        access_ロゴ              on;        auth_baic              "NFinxStarts";        auth_baic_アメリカ.file  conf/httpasswd    }     #アクセス禁止.httxxxファイル    location~/\.ht{        デニーオール    }            } }
    以上はいくつかの基本的な構成ですが、Ngixを使う最大の利点は負荷バランスです。
    負荷バランスを使うなら、設定httpノードは以下のように修正できます。
    httpサーバーを設定し、その逆代理機能を利用して負荷バランスを提供しhttp{     #mimeタイプを設定し、タイプはmime.typeファイルで定義されます。    include       /etc/inx/mime.types;    default_タイプ  appication/octet-stream;    #ログフォーマットを設定    access_ロゴ    /var/log/inx/access.log;
        #上記のいくつかの構成ノードを省略する。
        #。。。。。。。。。。
        #負荷バランスを設定するサーバリスト     アップストリームmysvr{    #weigthパラメータは、ウェイトを表し、高いほど、割り当てられた確率が高くなります。    server 192.168.8.1 x:3128 weight=5;本機のSquidは3128ポートを開けます。    server 192.168.8.2 x:80  weight=1;    server 192.168.3.3 x:80  weight=6;    }
       アップストリームmysvr 2{    #weigthパラメータは、ウェイトを表し、高いほど、割り当てられた確率が高くなります。
        server 192.168.8.x:80  weight=1;    server 192.168.8.x:80  weight=6;    }
       #最初の仮想サーバ   server{    #リスニング192.168.8.xの80ポート        listen       80;        server_name  192.168.8.x
          #aspx拡張子の負荷均衡要求    location~.*.aspx$
             root  /root;     #サーバのデフォルトのウェブサイトのルートディレクトリの位置を指定します。          index index.php index.index.httm.   #最初のページの索引ファイルの名前を定義します。
              proxyパス  http://mysvr とするmysvr定義のサーバーリストへの移行を要求します。
              #以下はいくつかの逆方向プロキシの構成を削除します。
              proxyredirect off;
              #バックエンドのWebサーバは、X-Fiorwarded-Forを介してユーザのリアルIPを取得することができる。          proxysetheader Host$host;          proxysetheader X-REAL-IP$remote uaddr;          proxysetheader X-Forwarded-Fror$proxy_add_x_forwarded(u)for;          clientmax_body_size 10 m    #クライアント要求を許可する最大の単一ファイルバイト数          clientbody_ブザーsize 128 k  #バッファエージェントは、ユーザ側が要求する最大バイト数をバッファリングし、          proxyconnect()timeout 90;  #nginxとバックエンドサーバの接続タイムアウト時間(代理接続タイムアウト)          proxysend_timeout 90;        #バックエンドサーバデータ転送時間(代行送信タイムアウト)          proxyread_.timeout 90;         #接続に成功したら、バックエンドサーバ応答時間(代理受信タイムアウト)          proxyブザーsize 4 k             #プロキシサーバ(inx)がユーザーヘッダ情報を保存するバッファサイズを設定します。          proxybuffers 4 32 k               #proxyバッファレスバッファ、ページの平均が32 k以下なら、このように設定します。          proxybusy_バファレスsize 64 k    #高負荷下バッファサイズブffers*2)          proxytemp_file_write_size 64 k  #キャッシュフォルダのサイズを設定して、この値より大きくして、アップストリームサーバから転送します。
           }
         } }
    テストnginx.com nfファイル:
      sbin/nginx – t – c conf/nginx2.conf