Elastic Compute Service (ECS) インスタンスに複数のWebサイトを設定して、運用コストを削減し、ソフトウェアの更新、セキュリティ設定の設定、データのバックアップなどのWebサイト管理を容易にすることができます。 Webサイトの要件の変更に応じて、リソース割り当てを柔軟に調整することもできます。 このトピックでは、NGINXを使用してLinux ECSインスタンスに複数のWebサイトを構築する方法について説明します。
前提条件
Linux ECSインスタンスが作成され、パブリックIPアドレスが割り当てられます。 LNMPスタックはLinuxインスタンスにデプロイされています。 LinuxインスタンスにLNMPスタックをデプロイする方法の詳細については、「Alibaba Cloud Linux 2、Alibaba Cloud Linux 3、CentOS 7、またはCentOS 8インスタンスにLNMPスタックをデプロイする」または「Ubuntu 20インスタンスにLNMP環境を手動で構築する」をご参照ください。
テストWebサイトの作成
LNMPスタックがデプロイされているLinuxインスタンスに接続します。
インスタンスへの接続方法については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、設定されたWebサイトのルートディレクトリに移動します。
cd /usr/share/nginx/html次のコマンドを実行して、2つのテストフォルダを作成します。
フォルダは、テストWebサイトのプロジェクトコードであるテストWebサイト情報を格納するために使用されます。
sudo mkdir Testpage-1 sudo mkdir Testpage-2Testpage-1 Webサイトの情報を設定します。
次のコマンドを実行して、Testpage-1フォルダに移動します。
cd /usr/share/nginx/html/Testpage-1/次のコマンドを実行して、
index.htmlファイルを作成および編集します。sudo vim index.htmlIキーを押してInsertモードに入り、次のテストコンテンツを入力します。Test page 1Escキーを押して:wqと入力し、enterキーを押してファイルを保存し、Insertモードを終了します。
Testpage-2Webサイトの情報を設定します。次のコマンドを実行して、
Testpage-2フォルダに移動します。cd /usr/share/nginx/html/Testpage-2/次のコマンドを実行して、
index.htmlファイルを作成および編集します。sudo vim index.htmlIキーを押してInsertモードに入り、次のテストコンテンツを入力します。Test page 2Escキーを押して:wqと入力し、enterキーを押してファイルを保存し、Insertモードを終了します。
NGINXの設定
次のコマンドを実行して、
nginx.conf設定ファイルを確認します。cat /etc/nginx/nginx.confhttp{}モジュールでinclude設定情報を表示します。この例では、
include /etc/nginx/conf.d/*.conf;次の図は、NGINXがすべてからサイト情報を取得することを示しています。. confファイルをパスに追加します。
次のコマンドを実行して、
/etc/nginx/conf.dパスに移動します。cd /etc/nginx/conf.dTestpage-1WebサイトのNGINX設定ファイルを作成して設定します。次のコマンドを実行して、設定ファイルを作成および編集します。
sudo vim Testpage1.confIキーを押して挿入モードに入り、次の内容を入力します。コメントされたコンテンツで、サーバードメイン名とWebサイトパスを実際の値に置き換えます。
server { listen 80; server_name testpage1.com; #The test domain name. Use the domain name of your server in the actual configuration. #charset koi8-r; access_log /var/log/nginx/b.access.log main; location / { root /usr/share/nginx/html; #The test website path. Use the path of your project code in the actual configuration. index index.html index.htm; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }Escキーを押して:wqと入力し、enterキーを押してファイルを保存し、Insertモードを終了します。
Testpage-2WebサイトのNGINX設定ファイルを作成して設定します。次のコマンドを実行して、設定ファイルを作成および編集します。
sudo vim Testpage2.confIキーを押して挿入モードに入り、次の内容を入力します。コメントされたコンテンツで、サーバードメイン名とWebサイトパスを実際の値に置き換えます。
server { listen 80; server_name testpage2.com; #The test domain name. Use the domain name of your server in the actual configuration. #charset koi8-r; access_log /var/log/nginx/b.access.log main; location / { root /usr/share/nginx/html; #The test website path. Use the path of your project code in the actual configuration. index index.html index.htm; } #error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }Escキーを押して:wqと入力し、enterキーを押してファイルを保存し、Insertモードを終了します。
次のコマンドを実行してNGINXを再起動します。
sudo systemctl restart nginx
結果の検証
オンプレミスホストのブラウザーから2つのテストWebサイトにアクセスできます。
次の図に示すように、
http:// <ECSインスタンスのパブリックIPアドレス>/Testpage-1にアクセスして、Testpage-1Webサイトのコンテンツを表示します。
次の図に示すように、
http:// <ECSインスタンスのパブリックIPアドレス>/Testpage-2にアクセスして、Testpage-2Webサイトのコンテンツを表示します。
複数のWebサイトが構築されます。 実際のシナリオでは、Webサイトへのアクセスを許可するために、プロジェクトパスが構成ファイルで正しく構成されていることを確認するだけで済みます。
次のステップ
Webサイトを公開する場合は、Webサイトに一意のドメイン名を指定することをお勧めします。 このようにして、Webサイトにアクセスしたいユーザーは、複雑なIPアドレスの代わりに識別しやすいドメイン名を使用できます。 すでにドメイン名をお持ちの場合、またはサイトにドメイン名を登録する場合は、次の手順を実行します。
ドメイン名を登録します。
詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。
インターネットコンテンツプロバイダ (ICP) の申請を申請します。
中国本土のECSインスタンスにデプロイされているWebサイトに関連付けられているドメイン名のICP申請を申請します。 詳細については、「ICP登録プロセス」をご参照ください。
ドメイン名を解決します。
ドメイン名の解決は、ドメイン名を使用してWebサイトにアクセスするために必要な手順です。 ドメイン名をECSインスタンスのパブリックIPアドレスに指定する方法の詳細については、「Webサイトドメイン名のAレコードの追加」をご参照ください。
関連ドキュメント
Windowsインスタンスに複数のWebサイトを展開する場合は、「IISを使用して複数のWebサイトを構成する」をご参照ください。