一般的な 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でカーソルを宣言する方法

推薦する

ウェブサイトのビジュアルデザインの重要なポイント

手工芸デザインからグラフィックデザイン、そしてウェブデザインまで、デザインの原則は同じままですが、私...

MySQL で null を置き換える IFNULL() および COALESCE() 関数の詳細な説明

MySQLではisnull()関数をnull値の代わりとして使用することはできません。次のように:ま...

MySQLテーブル構造を変更するコマンドを表示する

簡単な説明エディターはデータベースのエンコードが間違っているために問題に遭遇することが多く、これは頭...

202 無料の高品質 XHTML テンプレート (1)

ここで 123WORDPRESS.COM はこれらのテンプレートの最初の部分を紹介します。各テンプレ...

Vue.js のミックスインの詳細な説明

ミックスインは、コンポーネントに分散された再利用可能な機能を柔軟な方法で提供します。 Mixin オ...

Vueのv-onパラメータの問題についてお話しましょう

Vue での v-on:clock の使用現在、vue.js フレームワークを学習しています。後で参...

Vue3.0はvue-grid-layoutプラグインを使用してドラッグレイアウトを実装します。

目次1. プラグイン2. 幕間3. 実装4. 検証機能1. プラグインまず、私たちが選んだプラグイン...

vue+antv でレーダーチャートを実装するためのサンプルコード

1. 依存関係をダウンロードするnpm インストール @antv/データセットnpm インストール ...

Navicat for MySQLのスケジュールされたデータベースバックアップとデータ復旧の詳細

データベースの変更または削除操作によってデータ エラーが発生したり、データベースがクラッシュしたりす...

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

Windows Server 2008R2 ファイル サーバーを Windows Server 2016 にアップグレードする

ユーザー組織には、ドメインに参加している 2 台の Windows Server 2008 R2 フ...

CSSを使用してアダプティブスクエアを実装する方法の例

伝統的な方法は、正方形を固定形式で書くことです。長さ=幅を直接書き、次のように固定値を書きます。 。...

フロントエンド開発に必要な共通ツール機能のまとめ

1. 時刻の書式設定とその他の方法moment.jsライブラリファイルの使用をお勧めします2. テン...

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

Chrome プラグイン (拡張機能) 開発ガイド (完全デモ)

目次前面に書かれた序文ChromeプラグインとはChrome プラグイン開発を学ぶことの意義は何です...