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

推薦する

CPU、マシンモデル、メモリなどの情報を表示するLinuxシステム

システムメンテナンス中は、いつでも CPU 使用率を確認し、対応する情報に基づいてシステムの状態を分...

史上最もクリエイティブな404ページのデザインは、ウェブサイトのユーザーエクスペリエンスを効果的に向上させます

ウェブを閲覧しているときに 404 ページに遭遇することはあまりないので、見落としがちです。しかし、...

Baidu Maps を Web ページに埋め込み、Baidu Maps API を使用してマップをカスタマイズする詳細な手順

ウェブページにBaiduマップを挿入するBaidu Maps を自分の Web ページに追加したい場...

CentOS 7 で Docker のポート転送をファイアウォールと互換性のあるように設定する方法

CentOS 7 では、次のようなコマンドを使用してホスト ポートをコンテナー ポートにマッピングす...

CentOS7.3 での MySQL 8.0.13 のインストールと設定のチュートリアル

1. 基本環境1. オペレーティングシステム: CentOS 7.3 2. MySQL: 8.0.1...

Dockerはrabbitmqのサンプルコードをインストールして実行します

イメージをプルします: [mall@VM_0_7_centos ~]$ sudo docker pu...

Linux 上の Vim で色とテーマを変更する方法

Vim は Linux でよく使用されるテキスト エディターです。 Vim は、Sublime や ...

ORM モデル フレームワークを使用して MySQL データベースを操作する方法

ORM とは何ですか? ORM は Object Relational Mapping の略で、オブ...

Windows オペレーティング システムでポートの使用状況を照会およびクリアするプログラム

Windowsオペレーティングシステムでは、ポートの占有状況を照会し、ポートの占有状況をクリアするプ...

MySQL の on と where における左結合設定条件の使用法の違いの分析

この記事では、MySQL の左結合における on 条件と where 条件の使用法の違いを例を使って...

Pycharmとsshリモートアクセスサーバーdockerの詳細なチュートリアル

背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...

Linux ファイアウォールの状態確認方法の例

Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...

Linux システムファイル共有 samba 設定チュートリアル

目次sambaをアンインストールしてインストールする新しい共有パスを作成し、権限を設定するSamba...

html2canvasで画像が正常にキャプチャできない時の解決方法

質問まず、私が遭遇した問題についてお話しします。まず、そういった需要があるわけです。フロントエンドは...