ビジネスシーン一般的に使用される機能は、nginxのはhttpの概要モジュール
ngx_ HTTP_ core_モジュール |
含む - HTTP nginxのブロック部の構成に対応するいくつかのコアHTTPパラメータの設定 |
ngx_ HTTP _access_モジュール |
nginxののサイトへのユーザーアクセスを制御するアクセス制御モジュール |
ngx_ HTTP_ gzip_モジュール |
データを圧縮するための圧縮モジュールは、nginxのは、パフォーマンスの最適化モジュールに属する返さ |
ngx_ http_fastcgi_モジュール |
FastCGIモジュール、PHPなどの動的アプリケーションと関連モジュール、 |
ngx_ HTTP_ PROXY_モジュール |
プロキシプロキシモジュール |
ngx_ http_upstream_モジュール |
ロードバランシングモジュールは、ヘルスチェックのロードバランシングとノードのサイトを達成することができます |
ngx_ HTTP_ rewrite_module |
URL書き換えモジュールアドレス |
ngx_ HTTP_ limit_conn_module |
同時ユーザー数と接続要求モジュールの数を制限 |
ngx_ HTTP_制限REQモジュール |
nginxのを制限する定義されたキーの要求処理率 |
ngx_ HTTP_ LOG_モジュール |
カイアクセスモジュール8、指定された形式のレコードnginxの顧客は、チー8などの情報にアクセスするには |
ngx_ HTTP_ auth_basic_module |
nginxのにアクセスするためのWebユーザーアカウントとパスワードが設定したWeb認証モジュール、 |
ngx_ HTTP_ SSL_モジュール |
このようhttptsなどのHTTP接続を暗号化するためのSSIモジュール、 |
ngx_ HTTP _stub_ステータス:モジュール |
記録ステータス情報nginxの基本的なアクセスモジュール |
コアコンフィギュレーション・ファイルnginx.conf
worker_processes 1;
イベント{
worker_connections 1024;
}
HTTP {
mime.typesを含めます。
default_type application / octet-streamと;
sendfileの上;
keepalive_timeout 65;
サーバー{
80を聞きます。
サーバー名はlocalhost。
位置/ {
ルートHTML;
インデックスのindex.html index.htmを。
}
error_page 500 502 503 504 /50x.html。
位置= /50x.html {
ルートHTML;
}
}
}
サーバ内のnginxのは、ウェブの3つのタイプのホスティング、ドメイン名、ポート、IPに、仮想ホストであります
実際のドメイン名ベースの仮想ホスティング
1、名前ベースnginx.confを設定
#diff nginx.conf nginx.conf.default#いくつかの重要な文書を、それ自体は、バックアップファイルを持っています
#egrep -v "^ $ | ^#| ..#" nginx.conf> nginx.conf2 / egrepの-v "^ $ |#" nginx.conf> nginx.conf2
サーバー{
80を聞きます。
SERVER_NAME www.ram.shop ;
位置/ {
ルートHTML / WWW。
インデックスのindex.html index.htmを。
}
2、対応するドメイン名とサイトのディレクトリのファイルを作成します
ルートHTML / WWWの対応に新しいフォルダやWWWサーバーで#ます。mkdir -p ../html/www#htmlのディレクトリ[mobanのconf @ルート]
#エコー[mobanのconf @ルート] " http://www.ram.shop "> ../ HTML / WWW / index.htmlを
[mobanのconf @ルート]#猫../html/www/index.html
3、構文をチェックし、nginxのファイルをリロード
[mobanのconf @ルート]#.. / sbinに/ nginxの-t
nginxの:構文/application/nginx/conf/nginx.conf設定ファイルはokです
nginxの:テスト/application/nginx/conf/nginx.conf設定ファイルは成功しています
[mobanのconf @ルート]#../sbin/nginx -sリロード
[mobanのconf @ルート]#psの-ef | grepをnginxの
ルート8078 1978 0 5:59のpts / 0午前0時00分00秒grepのnginxの
[mobanのconf @ルート]#は"192.168.2.60エコーwww.ram.shopを " >> / etc / hostsファイル
[mobanのconf @ルート]#尾-1 / etc / hostsファイル
192.168.2.60のwww.ram.shop
クライアントのhostsファイルと設定
C:\ WINDOWS \ System32 \ Drivers \ Etc \ Hostsに192.168.2.60添加 www.ram.shop
4、複数の名前ベースのバーチャルホストを設定します
それはオーバー、仮想ホストを追加し、ドメイン名とそれに対応するフォルダを変更し、サービスをリロードし、hostsファイルにドメイン名を追加し、クライアントのhostsファイルに設定されたDNSを追加することで、サーバエリア内nginx.confのhttpエリアを追加
サーバエリアZMを追加
サーバー{
80を聞きます。
SERVER_NAME www.ram.com ;
位置/ {
ルートHTML / WWW。
インデックスのindex.html index.htmを。
}
error_page 500 502 503 504 /50x.html。
位置= /50x.html {
ルートHTML;
}
}
サーバー{
80を聞きます。
SERVER_NAME www.zm.com ;
位置/ {
ルートのhtml / ZM;
インデックスのindex.html index.htmを。
}
error_page 500 502 503 504 /50x.html。
位置= /50x.html {
ルートHTML;
}
}
形式が正しいかどのファイルを検出
nginxのサービスをリロード/ sbinに/ nginxの-sリロード
ホストの追加
ブラウザテスト
仮想ホスト・ポートの実際の構成に基づいて、
各仮想ホストのリスニングポートを変更します。
nginx.conf変更
サーバー{
81を聞きます。
SERVER_NAME www.ram.com ;
位置/ {
ルートHTML / WWW。
インデックスのindex.html index.htmを。
}
error_page 500 502 503 504 /50x.html。
位置= /50x.html {
ルートHTML;
}
}
サーバー{
82を聞きます。
SERVER_NAME www.zm.com ;
サービスを再起動し、ファイル形式を確認し、ポートを参照してください
[moban nginxの@ルート]#は、netstat -lntup | grepをnginxの
TCP 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 1666 / nginxの
TCP 0 0 0.0.0.0:82 0.0.0.0:* LISTEN 1666 / nginxの
TCP 0 0 0.0.0.0:83 0.0.0.0:* LISTEN 1666 / nginxの
テスト
ポートだけでなく、既存のサービスとの競合は、あなたが自由に変更することができ、原則的に、それは1024以上と未満65535です
実際のIPアドレスベースのバーチャルホストの設定
操作が似ている、nginx.confファイルが変更されている、あなたはあまりを使用して、事前にホストに少数のアドレスを追加する必要があります
Webサイトをチェックすると、スクリプトで生きています
スクリプトの内容
#!/ binに/ bashの #Webサイトを参照してください定期的なタスクを追加し、生きている、分ごとに3回チェック 作家パトリックに#byを 。 /etc/init.d/の機能 (チェック){ IF(($ == " 0 " )) ;その後、 アクション" :!このURL $ Bは生きている" / binに/ trueに 出口0 他の アクション " !このURL:$ Bは生きていません" / binに/ falseに 1番出口。 Fiの } メイン(){ B = $ 1つの。 wgetの - Oは/ dev / nullを -q $ 1 A = `エコー$?` チェック 終了0 } メイン$ 1
テスト
nginxの設定戦闘共通機能
マスター構成し、各仮想ホストの設定ファイルの分離:nginxの設定ファイルを最適化
ディレクトリにnginx.confサーバモジュールアウト、容易な管理、使用メインの設定ファイル内のファイルが含まれ、その上にファイルを宣言する場所
文言を含めます
コンフィギュレーション
#mkdir余分
#sed -n '11、22pの」nginx.conf>エクストラ/ www.conf
#sed -n '23、34P」nginx.conf>エクストラ/ nginx.conf
#sed -n '35、46P」nginx.conf>エクストラ/ bbs.conf
#sed -i '11、46D」nginx.conf
#sbinに/ nginxの-t
#sbinに/ nginxの-sリロード
nginx.confファイル構成
HTTP {
mime.typesを含めます。
余分/ www.confが含まれます。
余分/ nginx.confを含めます。
余分/ bbs.confが含まれます。
default_type application / octet-streamと;
sendfileの上;
keepalive_timeout 65;
}
または使用のsed -i '10私は、余分/ www.confが含まれる; \ ninclude余分/ nginx.conf「nginx.conf
#1 PWD [moban余分@ルート]
/アプリケーション/ nginxの/ confに/エクストラ
#1 LS [moban余分@ルート]
bbs.conf nginx.conf www.conf
エイリアスの仮想ホストの構成
メインのドメイン名以外の1人の以上のドメイン名、仮想ホストサイトで複数の機能へのユーザーアクセスを達成するために、対応するドメイン名を仮想ホストを設定するには
ステータス機能の戦闘
|
記録ステータス情報nginxの基本的なアクセスモジュール |
nginxのバージョン:nginxの/ 1.17.4 [mobanのconf @ルート]#../sbin/nginx -V
GCC 4.4.7 20120313によって建て(Red Hatの4.4.7-4)(GCC)
OpenSSL 1.0.1e-FIPS 2013年2月11日で構築されました
TLS SNIサポートが有効
引数を設定:--user = nginxの--group = nginxの--prefix = /アプリケーション/ nginxの--with-http_stub_status_module --with-http_ssl_module <==有这个就对了
[ルートmobanのconf @]#猫余分/ status.conf
##状態
サーバ{
80を聞きます。
SERVER_NAME status.ram.com;
位置/ {
stub_status上;
オフaccess_logの;
}
}
メインの設定ファイルは、情報が含ま追加します
余分/ status.confが含まれます。
窓の決意status.ram.comにホストを追加します。
サービスを再起動する構文をチェック
[mobanのconf @ルート]#../sbin/nginx -t
mobanのconf @ルート]#../sbin/nginx -sリロード
テスト:接続数として、それが自動的に接続の数をカウントします
アクティブな接続:5 ==>は5として扱われているいくつかの活動をリンク
サーバはリクエスト扱い受け入れ
76 76 63
今76個の接続をnginxのために最初から処理を示す最初のサーバー
今から開始する第二のサーバは、nginxのが正常に要求が失われないことを示す等しい76の接続の合計を処理表します
今まで最初から第三のサーバnginxの表現は63のリクエストを処理し
読書:0書き込み:1待機中:4
nginxのは、クライアントの数のヘッダ情報を読み出します
nginxのは、ヘッダ情報のクライアント数に返します
処理されるのを待っている接続の数
エラーログの設定でnginxの増加
error_logには、コア機能モジュールパラメータであります
主な設定ファイルを設定し、その上でエラーログの場所を追加
error_logのログ/ error.logに - > nginx.conf
アクセスログ(access_logの)は、HTTPのラベルに配置されました
ngx_ HTTP_ LOG_モジュール |
カイアクセスモジュール8、指定された形式のレコードnginxの顧客は、チー8などの情報にアクセスするには |
LOG_FORMAT主要フォーマットを追加するためのメインの設定ファイルは、デフォルトのファイルのコピーから見つけることができます
HTTP {
mime.typesを含めます。
default_type application / octet-streamと;
メイン ' - $のREMOTE_USER [$ time_local] "$依頼" の$ REMOTE_ADDR' LOG_FORMAT
'$ステータスの$ body_bytes_sent "$ HTTP_REFERER"'
' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';
sendfileの上;
keepalive_timeout 65;
サーバー{
81を聞きます。
SERVER_NAME www.ram.com ;
位置/ {
ルートHTML / WWW。
インデックスのindex.html index.htmを。
}
メインaccess_www.log access_logのログ/。
ログファイルには、ビューで、それへのアクセス、元のWebログを表示し、
[ルートmobanログ@]#猫のaccess_www.log
192.168.2.2 - - [10/10月/ 2019:02:44:18 0800] "GET / HTTP / 1.1" 304 0 " - " の「Mozilla / 5.0(Windows NTの10.0; Win64の、のx64)のAppleWebKit / 537.36(KHTML 、ヤモリなど)クローム/ 76.0.3809.132サファリ/ 537.36" " - "
[ルートmobanログ@]#カールwww.ram.com:81
[ルートmobanログ@]#猫のaccess_www.log
192.168.2.2 - - [10/10月/ 2019:02:44:18 0800] "GET / HTTP / 1.1" 304 0 " - " の「Mozilla / 5.0(Windows NTの10.0; Win64の、のx64)のAppleWebKit / 537.36(KHTML 、ヤモリなど)クローム/ 76.0.3809.132サファリ/ 537.36" " - "
192.168.2.60 - - [10 /月/ 2019:02:44:54 0800] "GET / HTTP / 1.1" 200 19 " - "「カール/ 7.19.7(I386-RedHatの-LinuxベースGNU)libcurlの/ 7.19 0.7 NSS / 3.14.0.0にzlib / 1.2.3 libidn / 1.18 libssh2の/ 1.4.2" " - "
ポーリングアクセスログ切断
#!/ binに/ shを
DATEFORMAT = `日付+%Y%m個の%のD '
BASEDIR = "/アプリケーションシートのイオン/ nginxの"
Nginxlogdir = $ BASEDIR /ログ」
ログ名=」アクセスWWW」
[-d $ Nginxlogdir] && CD $ Nginxlogdirのllexit 1
[-f $ {ログ名} .1og] || lexit 1
/ binに/ MV $ {ログ名).1og $ {DATEFORMAT)_ $ {ログ名} .1og
$ BASEDIR / sbinに/ nginxの-Sリロード