Linux7で仮想ホストを実装する3つの方法

Linux7で仮想ホストを実装する3つの方法

1. 同じIPアドレス、異なるポート番号

仮想ホスト 1: ホスト IP アドレスは 172.16.30.20、ポート番号は 80 (デフォルト ポート)、DocumentRoot は /var/www/vhost1、仮想ホスト サイトのホームページ ファイルは DocumentRoot ディレクトリの下に作成されます。

[root@rhel7 ~]# cd /var/www/
[root@rhel7 www]# mkdir vhost1
[root@rhel7 www]# cd vhost1/
[root@rhel7 vhost1]# vim index.html
[root@rhel7 vhost1]# cat index.html
これはvhost1です

仮想ホスト 2: ホスト IP アドレスは 172.16.30.20、ポート番号は 8080、DocumentRoot は /var/www/vhost2 で、仮想ホスト サイトのホームページ ファイルは DocumentRoot ディレクトリの下に作成されます。

[root@rhel7 ~]# cd /var/www/
[root@rhel7 www]# mkdir vhost2
[root@rhel7 www]# cd vhost2/
[root@rhel7 vhost2]# vim index.html
[root@rhel7 vhost2]#
[root@rhel7 vhost2]# cat index.html
これはvhost2です

仮想マシンホスト構成ファイル httpd-vhosts.conf を編集します。

[root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<仮想ホスト 172.16.30.10:80>
  ドキュメントルート "/var/www/vhost1"
</仮想ホスト>
8080を聴く
<仮想ホスト 172.16.30.10:8080>
  ドキュメントルート "/var/www/vhost2"
</仮想ホスト>
[root@rhel7 ~]# systemctl httpdを再起動します
[root@rhel7 ~]# ファイアウォール-cmd --add-port=8080/tcp --permanent
成功
[root@rhel7 ~]# ファイアウォール-cmd --reload
成功

アクセステスト:


2. 異なるIPアドレス、同じポート番号

仮想ホスト 1: ホスト IP アドレスは 172.16.30.20、ポート番号は 80 (デフォルト ポート)、DocumentRoot は /var/www/vhost1、仮想ホスト サイトのホームページ ファイルは DocumentRoot ディレクトリの下に作成されます。

仮想ホスト 2: ホスト IP アドレスは 172.16.30.200、ポート番号は 80 (デフォルト ポート)、DocumentRoot は /var/www/vhost2 で、仮想ホスト サイトのホームページ ファイルは DocumentRoot ディレクトリの下に作成されます。

[root@rhel7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
タイプ=イーサネット
BOOTPROTO=なし
DEFROUTE=はい
IPV4_FAILURE_FATAL=いいえ
IPV6INIT=はい
IPV6_AUTOCONF=はい
IPV6_DEFROUTE=はい
IPV6_FAILURE_FATAL=いいえ
IPV6_ADDR_GEN_MODE=安定したプライバシー
名前=ens33
UUID=bde41fa3-f559-4de2-ba9a-857fed211aac
デバイス=ens33
ONBOOT=はい
DNS1=127.0.0.1
ゾーン=パブリック
IPアドレス=172.16.30.10
プレフィックス=24
IPV6_PEERDNS=はい
IPV6_PEERROUTES=はい
IPアドレス1=172.16.30.100
プレフィックス1=24
[root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<仮想ホスト 172.16.30.10:80>
  ドキュメントルート "/var/www/vhost1"
</仮想ホスト>

<仮想ホスト 172.16.30.100:80>
  ドキュメントルート "/var/www/vhost2"
</仮想ホスト>

[root@rhel7 ~]# systemctl httpdを再起動します

アクセステスト:



3. 同じIPアドレス、同じポート番号、異なるFQDN

仮想ホスト 1: ホスト IP アドレスは 172.16.30.20、ポート番号は 80 (デフォルト ポート)、FQDN は vhost1.example.com、DocumentRoot は /var/www/vhost1 で、仮想ホスト サイトのホームページ ファイルは DocumentRoot ディレクトリに作成されます。

仮想ホスト 2: ホスト IP アドレスは 172.16.30.20、ポート番号は 80 (デフォルト ポート)、FQDN は vhost2.example.com、DocumentRoot は /var/www/vhost2 で、仮想ホスト サイトのホームページ ファイルは DocumentRoot ディレクトリに作成されます。

[root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
<仮想ホスト 172.16.30.10:80>
  ドキュメントルート "/var/www/vhost1"
  サーバー名 vhost1.example.com
</仮想ホスト>
<仮想ホスト 172.16.30.10:80>
  ドキュメントルート "/var/www/vhost2"
  サーバー名 vhost2.example.com
</仮想ホスト>

注意: 対応する解決コンテンツを DNS サーバーに追加する必要があります。


アクセステスト:


設定ファイルを変更するたびに、必ずサービスを再起動するようにしてください。

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

以下もご興味があるかもしれません:
  • Linuxサーバーで仮想ホストファイルやフォルダを削除できない場合の完璧な解決策
  • Linux 環境で Apache マルチポートの仮想ホストを構成する方法の詳細な紹介
  • Linux 仮想ホストパネル kloxo のインストールと中国語チュートリアルの共有
  • Linux Apache で仮想ホストを構成する方法

<<:  mysql binlog (バイナリログ) を表示する方法

>>:  vue $http の get および post リクエストのクロスドメイン問題を解決する

推薦する

MySQL 5.7.23 バージョンのインストールチュートリアルと設定方法

MySQL を自分でインストールするのに 3 時間かかりました。チュートリアルはたくさんあるにもかか...

JS でオブジェクトが空オブジェクトかどうかを判断する 5 つの方法

1. jsonオブジェクトをjson文字列に変換し、文字列が「{}」であるかどうかを判断します。 v...

MySQLにおける正規表現の一般的な使用法

MySQL における Regexp の一般的な使用法特定の文字列を含むあいまい一致# コンテンツフィ...

Vue の自動書式設定の改行保存の詳細な説明

ネットで変更方法をいろいろ調べたのですが、うまくいきませんでした。後で大物から見て削除しました。フォ...

Linux に MySQL 8.0.x をインストールするための完全な手順

マイグレーションMySQL 入門MySQL はもともとオープンソースのリレーショナル データベース管...

Linux LVM 論理ボリューム構成プロセス (作成、増加、削減、削除、アンインストール) の詳細な説明

Linux LVM論理ボリューム構成プロセスの詳細な説明多くの Linux ユーザーは、オペレーティ...

この記事ではSQL CASE WHENの使い方を詳しく説明します

目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...

Vue が学ぶべき知識ポイント: forEach() の使用

序文フロントエンド開発では、目的のコンテンツを取得するためにループをトラバースする必要がある状況に頻...

CSS3 引用のソースと出典をマークする方法

疫病のせいで家にこもりきりで、頭がおかしくなりそうなので、パソコンを起動して頭を働かせてみました。今...

Nginx tp3.2.3 404 問題の解決

最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...

ファイル書き込みを使用して Linux アプリケーションをデバッグする方法

Linux ではすべてがファイルなので、Android システム自体は Linux + Java だ...

簡単な計算機を実装する小さなプログラム

この記事の例では、簡単な計算機を実装するための小さなプログラムの具体的なコードを参考までに共有してい...

MySQL ルート パスワードをリセットするときに発生する「不明な列 'password'」問題を解決する方法

夜にMACの電源を入れたところ、突然ルートアカウントがMySQLに正常にログインできなくなったため、...

Layui は複数条件クエリのサンプルコードを実装します

最近ファイルシステムを作ったのですが、フィールドが多すぎることに気づきましたページングを使用した複数...

CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス

glibc は、gnu によってリリースされた libc ライブラリ、つまり c ランタイム ライブ...