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

推薦する

CSS3 のフレックスレイアウト幅の無効性の解決策

2 列レイアウトはプロジェクトでよく使用されます。この効果を実現する方法はたくさんあります。 しかし...

Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル

目次ZabbixはNginxを監視するZabbixはTomcatを監視するZabbixはMySQLを...

CSS で水平方向と垂直方向に中央揃えする 10 の方法を教えます (要約)

面接には必需品、仕事でも必ず使います。うーん、誰でも分かるでしょう。これ以上何も言わずに、要約とレン...

MySQLの複合インデックス方式の詳細な説明

どの DBMS でも、インデックスは最適化にとって最も重要な要素です。データ量が少ない場合、適切なイ...

MySQL 5.7.19 のインストールと設定方法のグラフィック チュートリアル (win10)

以下に記録されているように、WIN10システムにMYSQLをダウンロードしてインストールするための詳...

MySQLの一般クエリログとスロークエリログの分析

MySQL のログには、エラー ログ、バイナリ ログ、一般クエリ ログ、スロー クエリ ログなどが含...

JavaScriptタイマーとボタン効果設定の詳細な説明

タイマー効果: <div> <font id='timeCount'...

MySQL の 10 進数データ型の小数点埋め込み問題の詳細な説明

序文開発プロセスでは、10 進データ型がよく使用されます。 MySQL では、小数点は正確なデータ型...

JavaScript を使用して QR コードを解析する 3 つの方法

目次1. JavaScriptを使用してQRコードを解析する1. QR コードとは何ですか? 2.q...

入力選択スタイルを変更する CSS 疑似クラスのサンプルコード

注: この表はW3Schoolチュートリアルから引用したものです疑似要素の分類と機能: 入力選択スタ...

CSS チュートリアル: CSS 属性メディア タイプ

スタイルシートの最も重要な機能の 1 つは、ページ、画面、電子シンセサイザーなどの複数のメディアに適...

データベースマルチテーブル接続クエリの実装方法の詳細説明

データベースマルチテーブル接続クエリの実装方法の詳細説明結合演算子を使用して複数のテーブルクエリを実...

Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順

開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...

CentOS 7.4 64 ビット版に MySQL 8.0 をインストールして設定するための詳細な手順

ステップ1: MySQL YUMソースを取得するMySQLの公式サイトにアクセスして、RPMパッケー...

Dockerfile をベースに Zabbix 監視システムのコード例を作成する

forループを使用してZabbixイメージをコンテナにインポートします。 n を `ls *.tar...