一般的な Nginx のテクニックと例の概要

一般的な Nginx のテクニックと例の概要

1. 複数サーバーの優先順位

たとえば、各サーバー ブロックがポート 80 をリッスンする場合、www.pm.com はサーバー IP アドレスに対応し、一致する順序は次のようになります。

①server_nameがwww.pm.comと全く同じブロック。

②server_nameが*.pm.comであるブロック。 (ワイルドカードが先)

③server_nameがpm.*であるブロック。 (後ろにワイルドカード)

④server_nameは正規表現を使用し、www.pm.comのブロックに一致させることができます。

⑤一致するものが見つからない場合は、listen 80 default_server;のブロックが選択されます。

⑥項目5がない場合は、最初の設定ファイルの最初のサーバーブロックを選択します。

ドメイン名 www.pm.com にアクセスすると、上記のサーバーが優先されます。

このときIPでアクセスするとリクエストヘッダーのHostフィールドの値が192.168.1.7となり、server_nameにマッチできません。ルールにしたがって以下のサーバーにマッチすることになります。

2. IPアクセスを禁止する

IP アクセスを禁止すると、他のユーザーが悪意を持ってドメイン名を自分の IP に解決することを防ぐことができます。

2 つの形式:

注意: 最初の方法では default_server を使用する必要があります。他の場所で default_server を使用する必要がある場合は、2 番目の方法を使用できます。

3. include をもっと頻繁に使う(良いコメントを書く)

1 台のサーバーで複数のサーバー Web サイトを構成すると、メイン構成ファイル nginx.conf が非常に肥大化し、読みにくくなります。この場合、include メソッドをより頻繁に使用して、メイン構成ファイルを簡素化し、運用および保守担当者が保守しやすくなります。

4. エイリアスを使用してウェブサイトの実際のディレクトリ構造を保護する

http://www.pm.com/image/logo.png にある画像にアクセスすると、訪問者は画像へのパスを知ることができます。

場所 / 画像 {

ルート /pm_code;

}

対応するパスは/pm_code/image/です。

エイリアスを使用する場合:

場所 / 画像 {

エイリアス /pm_code;

}

このとき、イメージの実際の場所は /pm_code の下にあり、/image は仮想ディレクトリであり、エイリアスの後には絶対ディレクトリ パスが続きます。

5. Error_page の設定

404エラーをシミュレートする

http://www.pm.com/jfkdjfk などの存在しない URL を入力すると、/pm_code/www/404.jpg にジャンプします。

502エラーをシミュレートする

ブラウザにwww.pm.comと入力すると、リンクがタイムアウトし、/pm_code/www/500.jpgが表示されます。

注意: 2 つの形式は異なります。 500 別の場所を入力する必要があります。

6.try_filesの設定

簡単な例:

ブラウザにwww.pm.comと入力すると、まず400.htmlが検索され、見つからない場合はindex.htmlが検索されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • オペレーターが知っておくべき 18 個の Nginx プロキシ キャッシュ構成のヒント (どれを知っていますか?)
  • Nginx の一般的な設定とテクニックの概要
  • nginx での接続数を制限するためのヒントを共有する
  • Nginx サーバーを最適化するためのヒントの簡単な紹介
  • Nginx Rewrite ルールと使用方法の紹介とスキルの例
  • nginx プロキシ ポート 80 からポート 443 への実装
  • URLパラメータに基づくNginx転送
  • Nginx の起動に失敗した場合のいくつかのエラー処理の詳細な説明

<<:  MySQLで判定文を書く方法のまとめ

>>:  MySQLでカーソルを宣言する方法

推薦する

Jsモジュール化の動作原理とソリューションの詳細な説明

目次1. モジュラーコンセプト2. モジュール化3. モジュール化プロセス1. 通常の記述(グローバ...

経験豊富な人が、プロフェッショナルで標準化されたMySQL起動スクリプトの開発方法を紹介します。

シェル スクリプト言語は、すべてのプログラミング言語の中で最も単純な言語であるため、資格のある Li...

MySQL スケジュールバックアップタスクの簡単な分析

導入実稼働環境では、データの損失を回避するために、通常、データベースは定期的にバックアップされます。...

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

ウェブサイトのパフォーマンス: 画像とCookieの最適化、モバイルアプリケーションの最適化

前のセクションでは、コンテンツ、サーバー、JavaScript、CSS など、Web サイトのパフォ...

ネイティブ js はフォームの定期的な検証を実装します (検証後にのみ送信)

以下の機能が実装されています。 1. ユーザー名: onfouc は msg ルールを表示します。o...

さまざまな Tomcat ログと catalina.out ファイルのセグメンテーションの関係についての簡単な分析

Tomcatログの関係一枚の写真は千の言葉に値する! localhost.{yyyy-MM-dd}....

MySQL データベース内の数十億のデータを素早くクリーンアップする方法

今日、ディスクアラーム例外を受け取りました。50G ディスクが爆発しました。分析と解決のプロセスは次...

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

MySQLデータの重複チェックと重複排除の実装ステートメント

テーブル user があり、フィールドは id、nick_name、password、email、p...

シンプルなショッピングフォームを実装するJavaScript

この記事では、簡単なショッピングフォームを実装するためのJavaScriptの具体的なコードを参考ま...

HTML シンボルからエンティティへのアルゴリズムのチャレンジ

チャレンジ:文字列内の文字 &、<、>、" (二重引用符)、および &...

vsftpdで仮想ユーザーログインを設定する方法

yum で vsftpd をインストールします [root@localhost など]# yum -...

React Fiberの仕組みの詳細な説明

目次React Fiberとは何ですか?なぜReact Fiberなのか? React Fiberは...