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 学習ノート ヘルプ ドキュメント

推薦する

MySQL がテーブルを読み取れないエラー (MySQL 1018 エラー) の解決方法

1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...

ウェブ計算機を実装するためのjs

HTML、CSS、JS を使用してシンプルな Web 計算機を作成する方法は?コンピュータには次の...

WeChatアプレットがシンプルな計算機機能を実装

この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...

MySQLソースコマンドの使い方の紹介

目次ネット上の質問から生まれた思考MySQL ソースコマンドネット上の質問から生まれた思考今日仕事中...

CSSはメッセージパネルをスライドするWebコンポーネント機能を実装します

みなさんこんにちは。私と同じように混乱している方はいらっしゃいませんか。CSS は簡単に始められます...

Ubuntu 16.04 に nvidia ドライバー + CUDA + cuDNN をインストールする詳細なチュートリアル

準備1. GPUがCUDAをサポートしているかどうかを確認するlspci | grep -i nvi...

Vue3 の参照と参照の詳細

エディターは、Vue3のデータの関連する問題も共有します。次のような例を見てみましょう。 Vue.c...

JavaScript における BOM と DOM の詳細な説明

目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...

Web フォームの入力要素の高度な使用例 11 選

1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...

MySQL innodb_autoinc_lock_mode について

innodb_autoinc_lock_mode パラメータは、auto_increment 列を持...

HTML コード内のスペースと空白行についての簡単な説明

HTML コード内の連続するスペースまたは空白行 (改行) はすべて 1 つのスペースとして表示され...

MySQL MGR の利点は何ですか?

MGR (MySQL グループ レプリケーション) は、バージョン 5.7 で追加された新しい機能...

Dockerコンテナの入退出方法の詳細な説明

1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...

CSS で垂直方向の中央揃えを実装するいくつかの方法の概要

フロントエンドのレイアウト プロセスでは、水平方向の中央揃えを実現するのは比較的簡単で、通常は ma...

MySQLサーバーが消えたエラーの解決策

PHP で MySQL サーバーが消えた問題1. 背景以前、Codeigniter でコンソール コ...