Nginx をインストールして複数のドメイン名を設定する方法

Nginx をインストールして複数のドメイン名を設定する方法

Nginx のインストール

CentOS 6.x yum にはデフォルトで nginx ソフトウェア パッケージが含まれていません

インストール方法:

nginxのダウンロードページhttp://nginx.org/en/linux_packages.html#stableにアクセスし、CENTOS 6用のnginxソフトウェアソースインストールパッケージをコピーします。

次のコマンドを実行します: wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpmパッケージをインストールします。yum install nginx-release-centos-6-0.el6.ngx.noarch.rpm -y。この手順では、実際にはnginxパッケージソースのみが追加されます。

yum install nginx -y を実行して nginx をインストールします。

デフォルトでは、nginx は Linux サービスとしてインストールされるため、service nginx start、stop、restart、try-restart、reload、force-reload、status を使用して nginx を操作できます。

Nginx 設定ファイル

nginx 構成ファイルは、デフォルトで /etc/nginx/nginx.conf ファイルを読み取ります。

もちろん、次のコマンドを使用して、使用される conf パスを変更することもできます。

./nginx -c confファイルの場所

相対パスまたは絶対パスを指定できます。

Linux サーバー環境に慣れていない場合は、次のコマンドを使用して nginx.conf ファイルをすばやく見つけることができます。

sudo find / -name "nginx.conf"

次のコマンドを使用することもできます

nginx を -t で実行します。

使用中の構成ファイルを出力するには:

nginx: 設定ファイル /data/nginx/conf/nginx.conf の構文は正常です
nginx: 設定ファイル /data/nginx/conf/nginx.conf のテストが成功しました

Nginx の設定は、単純な命令またはブロック命令で構成されるディレクティブで構成されています。

簡単なコマンド: listen 80;

ブロック命令は {} で囲まれ、ブロック命令には複数の単純命令とブロック命令を含めることができます。

http {
 サーバー{
 }
}

複数のドメイン名の設定

ドメイン名管理コントロールパネルでIPに対応するドメイン名を設定する場合、IPのみ設定でき、ポートまで詳細に設定することはできないことは誰もが知っています。サーバーが複数の Web アプリケーションを展開し、異なるポートを使用して起動する場合、マッピングに Nginx を使用できます。

たとえば、私のドメイン名は www.525.life です。

ドメイン名は、admin.525.life のような第 2 レベルのドメイン名に分割することもできます。

ドメイン名コントロール パネルで、両方のドメイン名をサーバーのパブリック IP 123.123.123.123 に指定しました。

この時点で、ドメイン名 www.525.life および admin.525.life へのアクセスは、ポート 80 (デフォルト) を使用する Web プログラムにのみ対応していることがわかりました。

ポート 81 でアプリケーションにアクセスする場合は、次のポートのみを使用できます。

www.525.life:81 または admin.525.life:81。

しかし、これは非常に不便です。ポートを削除してもアクセスできるようにするには、Nginx を使用してポートをマッピングする必要があります。

www.525.life はポート 8880 にアクセスし、admin.525.life はポート 8881 にアクセスすることが想定されます。次のように設定します。

 サーバ
{
 聞く 80;
 サーバー名 www.525.life;
 位置 / {
  #....
  proxy_pass http://localhost:8880;
 }
 ##### その他のディレクティブ
}
サーバ
{
 聞く 80;
 サーバー名 admin.525.life;
 位置 / {
  #....
  proxy_pass http://localhost:8881;
 }
 ##### その他のディレクティブ
}

設定に必要なのはこれだけです。 8880 と 8881 の両方をリスナー ポート 80 にマップします。

nginx を有効にするには、reload コマンドを使用します。

sudo nginx -s リロード

有効にするには、次のコマンドを使用して nginx を再起動します。

/etc/init.d/nginx を再起動

この方法では、www.525.life を使用してポート 8880 にアクセスし、admin.525.life を使用してポート 8881 にアクセスできます。

ドメイン名ごとに conf を 1 つ記述する方法

上記の例では、複数のドメイン名を持つファイルを使用しました。つまり、1 つの conf のみが使用され、サーバーが継続的に追加されました。この方法は非常に直感的ですが、ドメイン名が多すぎると管理が難しくなります。

Nginx はインポートの使用をサポートしています。つまり、最初に別の場所に新しい conf ファイルを作成することができ、conf ファイルに記録されるサーバーの情報は次のとおりです。

admin.conf の内容は次のとおりです。

サーバ
{
 聞く 80;
 サーバー名 admin.525.life;
 位置 / {
  #....
  proxy_pass http://localhost:8881;
 }
 ##### その他のディレクティブ
}

www.conf の内容は次のとおりです。

サーバ
{
 聞く 80;
 サーバー名 www.525.life;
 位置 / {
  #....
  proxy_pass http://localhost:8880;
 }
 ##### その他のディレクティブ
}

admin.conf と www.conf は両方とも /data/nginx/conf/vhost ディレクトリに配置されます。

次に、nginx.conf で import コマンドを使用します。

/data/nginx/conf/vhost/*.conf を含めます。

それでおしまい。

このコマンドは、

http{
}

中括弧で囲みます。

include コマンドは、導入されたコードをすべて nginx.conf に記述することと同じだからです。

301 リダイレクト

私たちは、多くの場合、www なしで Web サイトにアクセスできることに気付きました。これは、Nginx を通じても実現できます。上記の構成と同じように、次のように別のサーバーを追加します。

サーバ
{
 聞く 80;
 サーバー名 525.life;
 位置 / {
  #....
   proxy_pass http://localhost:8880;
 }
 ##### その他のディレクティブ
}

または301リダイレクトを行う

サーバ
{
聞く 80;
サーバー名 525.life;
書き換え^/(.*) http://www.525.life/$1 永久的;
}

404 ページを追加

404 Web ページを追加するには、次のように直接追加できます。

サーバ
{
聞く 80;
server_name www.web126.com; #ドメイン名をバインド error_page 404 /404.html;
}

直接IPアクセスを禁止する

最後に、注意が必要な別の方法があります。IP がポート 80 に直接アクセスすることを禁止したり、非ローカル ドメイン名が IP にバインドすることを禁止したりする必要がある場合があります。この場合、次のように処理して最初のサーバーに配置する必要があります。

サーバ{
listen 80 デフォルト;
サーバー名_;
403 を返します。
}

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

以下もご興味があるかもしれません:
  • nginxシグナルセットケースの詳細な説明
  • Nginx ログ管理の概要
  • CentOS の Nginx 公式 Yum ソースの設定を詳しく解説
  • Linux 上の Nginx に複数のバージョンの PHP をインストールする
  • Centos7 に PHP と Nginx をインストールする詳細なチュートリアル
  • リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース
  • Vue プロジェクト nginx を非ルート ディレクトリにデプロイするときに空白が更新される問題を解決する
  • Nginxがオンになっていると、ポートが占有され、「アドレスは既に使用されています」というメッセージが表示されます。
  • 実行後にdocker nginxにアクセスできない問題の解決策
  • nginx ロードバランシングを介して https にリダイレクトする方法
  • Nginx シグナル制御

<<:  Vue v-model 関連の知識のまとめ

>>:  MySQL 学習ノート ヘルプ ドキュメント

推薦する

CSS 円形ホローイングの実装(クーポン背景画像)

この記事では主に、クーポンの背景画像などでよく使われる CSS 円形ホローイングについて紹介し、皆さ...

ウェブサイトのフロントエンドをエレガントでユーザーにとって魅力的なものにする方法

ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...

JavaScript を使用して二分探索木を実装する方法

コンピュータ サイエンスで最も一般的に使用され、議論されているデータ構造の 1 つは、二分探索木です...

MySQLのスレッド実行の急増とクエリの遅延の問題を解決する

目次背景問題の説明原因分析CPUクエリが遅い接続数分析する拡大する総括する背景新年を迎える前は、一年...

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...

JSは円形のプログレスバーのドラッグとスライドを実装します

この記事の例では、円形のプログレスバーのドラッグアンドスライドを実現するための具体的なJSコードを紹...

Vue ページ状態の永続化の詳細な説明

目次コード:補充:要約する要件: 左のツリーと右のテーブル。組織ツリーでノードを選択した後、詳細ペー...

MySQL 5.7.18 無料インストールバージョンの設定チュートリアル

MySQL 5.7.18 無料インストール版のインストールチュートリアルMySQL は現在、世界で最...

jsとcssのブロッキング問題の詳細な分析

目次DOMContentLoadedとロードjs ブロッキングとは何ですか? CSS ブロッキングと...

MySQL の null 可能フィールドは NULL に設定する必要がありますか、それとも NOT NULL に設定する必要がありますか?

MySQL を頻繁に使用する人は、次のような状況に遭遇する可能性があります。 1. フィールド タ...

MySQL Installer 8.0.21 インストール チュートリアル (画像とテキスト付き)

1. 理由新しいシステムに MySQL を再インストールする必要があったので、将来詳細を忘れた場合...

Linuxがすべてのコマンドをサポートしていない問題の解決策

Linux がすべてのコマンドをサポートしていない場合はどうすればいいですか?すべてのLinuxコマ...

MYSQL ロック解除とロックテーブルの紹介

MySQL ロックの概要他のデータベースと比較すると、MySQL のロック メカニズムは比較的単純で...

CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル

目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...

初心者のためのWebサイト構築入門 ③ エイリアス(CNAME)レコードとURL転送

①. エイリアス(CNAME)レコードの使用方法:前回の投稿のドメイン名解決では、A レコードの解...