1は、作るために nginxのは、より便利なサービスは、停止、リロードおよび他の操作を開始し、次のように書くことができます nginxののサービスのスクリプトを、そして使用 chkconfigのと systemctl 管理するためのツールを、だけでなく、よりに沿って、 RHEL システム管理の習慣。
[ルート@ nginxの〜]#vimの/etc/init.d/nginx
#!/ binに/ bashの
#chkconfigを:2345年99 20
#説明:nginxのサーバーコントロールのスクリプト
PROG = "は/ usr / local / nginxの/ sbinに/ nginxの"
PIDF = "は/ usr / local / nginxの/ログ/ nginx.pid"
場合は「$ 1」
開始)
$ PROG
;;
やめる)
キル-sは、$(猫$ PIDF)をQUIT
;;
再起動)
$ 0停止
$スタート0
;;
リロード)
キル-s HUP $(猫$ PIDF)
;;
*)
エコー "使い方:$ 0 {開始|停止|再起動|リロード}"
1番出口
ESAC
終了0
保存して終了
[ルート@ nginxの〜] #chmod + X /etc/init.d/nginx
[ルート@ nginxの〜] #chkconfigという--add nginxの
上の[ルート@ nginxの〜] #chkconfignginx
[ルート@ nginxの〜] #chkconfigという--list nginxの
nginxの0:閉じる 1:閉じる 2:有効 3:有効 4:有効 5:有効 6:閉じます
これができ nginxのスクリプト、停止、再起動、リロードを開始するために nginxののサーバーをアップ。
2、nginx.conf ファイル構造
で nginxのメインの設定ファイルサーバーの nginx.conf グローバルコンフィギュレーション、を含む、 I / Oのイベント設定、 HTTP 設定三つのブロックの内容、形式の設定ステートメントがある「キーワード 値;」(セミコロンで終わりで終わりを示します)、「#」のコメントから始まるセクション。
1 )グローバル設定
特定のマーカーの定義を使用することなく、さまざまな構成の計算書、。ユーザーを実行しているグローバル構成]セクションを含む業務プロセス、エラーログの数、 PID 基本設定の保存場所。
一般的な設定項目:
- ユーザーnginxの[nginxの]; // 実行ユーザー、 nginxのユーザーを実行しているが、実際にはコンパイル時に指定 nginxのを指定しない場合は、コンパイル時に、デフォルトではありません誰も。
- 2 worker_processes; // 指定 nginxのが推奨するように、開始ワークプロセスの数を CPU 一般の数を指定するために CPU コアに等しいです。
- worker_cpu_affinity 00000001 00000010; // 各プロセスに割り当てる CPUのコア、上記の例では 2 2つのに割り当てられたプロセスの CPU 、当然のことながら、一つは書くことができ、またはプロセスの複数に割り当てる CPU
- worker_rlimit_nofile 102400; // コマンドこれは nginxのプロセスのオープン・ファイルの最大数は、理論値が数(文書に開放されなければならないのulimit-N- で) nginxのプロセスの数で割った値が、 nginxの割り当て要求は、均一なので、ほとんどのではありません良いと -n ulimitの一貫性の値。(により「のulimit-nの値が」開いているファイルの最大数を変更することができます)
- error_logのログ/ error.logに; // グローバルエラー・ログ・ファイル
- PIDログ/ nginx.pid; // PIDのファイルの場所
2 ) I / Oのイベント設定:
使用「イベント{}」を定義し指定するためのフラグ nginxののプロセス I / Oの各プロセスのような応答モデルを、接続設定の数と
イベント{
// 使用のepollのモデル、のために 2.6 以上のカーネルよりも、使用することが推奨されるのepoll パフォーマンスを向上させるためにモデルを
worker_connections 4096; // 接続の最大数を許可する各プロセスは、(デフォルトは 1024) 、プロセスあたりの接続数は、実際のニーズに基づいている必要があり、一般的に万以下、理論的には、各 nginxの接続の最大数は、サーバがある worker_processes * worker_connectionsは、特定のサーバのハードウェア、帯域幅に依存し、というように。
}
3 ) HTTP の設定
使用「のhttp {}」アクセスログを含め、マークを定義し、 HTTP ポート、Webディレクトリ、デフォルトの文字セットに接続を維持し、ウェブホスティング PHPは、一連の設定を解析します。ステートメントを定義する構成の大部分は、サブマークに含まれる「サーバー{}」内部。
HTTP {
mime.typesを含めます。
default_type application / octet-streamと;
LOG_FORMATメイン '$ REMOTE_ADDR - $のREMOTE_USER [$ time_local] "$依頼"'
'$ステータスの$ body_bytes_sent "$ HTTP_REFERER"'
' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';
access_logのログ/ access.logをメイン; // アクセスログビット
//;上のsendfile (ダウンロード)を送信するためのサポートファイル
keepalive_timeout 65; // コネクタ保持タイムアウト
サーバー{//ウェブサービスリスナーの構成
80聞く; //は、アドレスとポートを聞く( IP : PORT )
サーバー名 www.crushlinux.com ; // サイト名(のFQDN )
文字セットUTF-8; // デフォルトの文字セットページ
位置/ {// ディレクトリと構成
ルートのhtml; // のWebルートの設置場所の場所のhtml で
インデックスのindex.htmlのindex.htm; // デフォルトのホーム・ページ(インデックスページ)
}
error_page 500 502 503 504 /50x.html; // 内部エラーフィードバックページ
位置= /50x.html {// エラーページ構成
ルートHTML;
}
}
}
3、国家統計モジュール
nginxのは、構築された HTTP_STUB_STATUSの電流を供給するために使用される状態統計モジュール、 WEBの訪問を。設定は、パラメータをコンパイルするときに追加することができます --with-http_stub_stastus_module このモジュールを有効にします。使用するには nginxのの状態の統計機能を、内蔵の有効なモジュールに加えて、あなたは変更する必要があり nginx.conf 場所とオープンアクセスを指定し、ファイルを stub_statusの設定を。HTTP {} 構成サーバ{} サブ内に配置された次の設定項目を追加
[ルート@ nginxの〜]#vimの/usr/local/nginx/conf/nginx.conf
位置/ステータス{
stub_status ON; // 開いた状態の統計情報
オフのaccess_log; // 閉じる伐採、この位置
}
[ルート@ nginxconf] #systemctl再起動nginxの
ブラウザアクセス http://192.168.200.111/status
アクティブな接続は、現在アクティブな接続の数を表し、
3つの数字の第3行が表す nginxのは、現在の全体の処理された 3つの接続を正常に作成 3 -wayハンドシェイクを、それが合計取り扱う 12個の要求を。
読書は表し nginxのは、クライアントに読んヘッダ、番号情報
書き込み表し nginxのは、クライアントに返さヘッダーカウント情報
待機中を表す nginxのは、一度常駐待機している接続要求コマンドの数を処理してきました。
4、仮想ホストアプリケーション
使用 nginxのは、仮想ホストサーバーを設定する場合、各仮想ウェブサイトが、別ました「サーバー{}」構成セクション、各リスニングのIP アドレスとポート番号を個別に指定することができ、もちろん、サイト名が異なっています。
たとえば、2つのサイトを作成するためにwww.crushlinux.comとwww.cloud.com
二つの仮想 WEBのホストは、ルートディレクトリを確立し、ホームをテストする準備ができていました。
[ルート@ nginxの〜] #mkdirは/ usr / local / nginxの/ HTML / crushlinux
[ルート@ nginxの〜] #mkdirは/ usr / local / nginxの/ HTML /クラウド
[ルート@ nginxの〜]#エコー "<H1> www.crushlinux.com </ H1>"> /usr/local/nginx/html/crushlinux/index.html
[ルート@ nginxの〜]#エコー "<H1> www.cloud.com </ H1>"> /usr/local/nginx/html/cloud/index.html
[ルート@ nginxの〜]#vimの/usr/local/nginx/conf/nginx.conf
HTTP {
mime.typesを含めます。
default_type application / octet-streamと;
LOG_FORMATメイン '$ REMOTE_ADDR - $のREMOTE_USER [$ time_local] "$依頼"'
'$ステータスの$ body_bytes_sent "$ HTTP_REFERER"'
' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';
access_logのログ/ access.logをメイン;
sendfile;
keepalive_timeout 65;
サーバー{
80を聞きます。
SERVER_NAME www.crushlinux.com ;
文字セットUTF-8;
access_logのログ/ crushlinux.access.logメイン。
位置/ {
ルートのhtml / crushlinux。
index.htmをindex.htmlをインデックス。
}
}
サーバー{
80を聞きます。
SERVER_NAME www.cloud.com ;
文字セットUTF-8;
access_logのログ/ cloud.access.logメイン。
位置/ {
ルートHTML /クラウド。
index.htmをindex.htmlをインデックス。
}
}
}
[ルート@ nginxの〜] #systemctl再起動nginxの
[ルート@ nginxの〜]#vimの/ etc / hostsファイル
192.168.200.111 www.crushlinux.com
192.168.200.111 www.cloud.com
仮想ホストアクセスのテスト
[ルート@ nginxの〜] #elinks --dump http://www.crushlinux.com
[ルート@ nginxの〜] #elinks --dump http://www.cloud.com
7、テスト
それぞれ、対応するページの内容を表示するには、ブラウザでドメイン名とIPアドレスを入力してください