バーチャルウェブホスティングは、複数のWebサイト上で実行されている同じサーバを指し、各サイトは、実際にそれが「仮想」のWebホスティングと呼ばれ、全体の独立したサーバを占有しません。あなたは、仮想サーバーのWebホスティング、Webサイト構築により、ハードウェアリソースをフルに活用するため、大幅に運用コストを削減することができます。
httpdが同時にウェブサイトの数が多いからサポートすることができます唯一のhttpdサービスを実行する必要があり、非常に簡単に仮想ホストサーバーを構築するために使用することができます。
:httpdの仮想ホストのサポートは、次の3つのタイプが含ま
同じIP、同じポート、異なるドメイン:ベースのドメイン名
、IPアドレスに:異なるIP、同じポート
ポート上:同じIP、異なるポート
実際には、最も一般的に使用されるか、別のドメイン名をWebサイトを参照してください。
まず、ベースの仮想ホスティングは:
まず、我々は、Webホスティングのためのドメイン名解決を提供する必要があります。
[root@www /]# vim /etc/named.conf
…… //
zone "test1.com" in {
type master;
file "test1.com.zone";
};
zone "test2.com" in {
type master;
file "test2.com.zone";
};
[root@www /]# vim /var/named/test1.com.zone
…… //
in ns www.test1.com.
www in a 192.168.1.10
[root@www /]# vim /var/named/test2.com.zone
…… //
in ns www.test2.com.
www in a 192.168.1.10
仮想ホストの準備ページの文書:
[root@www /]# mkdir -p /var/www/html/test1com
[root@www /]# mkdir -p /var/www/html/test2com
[root@www /]# echo "<h1>www.test1.com</h1>" > /var/www/html/test1com/index.html
[root@www /]# echo "<h1>www.test2.com</h1>" > /var/www/html/test2com/index.html
仮想ホストの設定を追加します。
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
配置 test1 的虚拟站点区域:
…… // 省略部分内容
<VirtualHost *:80> # 配置监听地址和端口 “*” 代表任意地址
ServerAdmin [email protected] # 设置管理员的邮箱 可删除
DocumentRoot "/var/www/html/test1com" # 指定网站根目录
ServerName www.test1.com # 配置域名
ServerAlias www.dummy-host.example.com # 配置别名
ErrorLog "logs/www.test1.com-error_log" # 记录错误日志
CustomLog "logs/www.test1.com-access_log" common # 记录访问日志
<Directory "/var/www/html"> # 设置目录访问权限
Require all granted # 允许所有
</Directory>
</VirtualHost>
配置 test2 的虚拟站点区域:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/test2com"
ServerName www.test2.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.test2.com-error_log"
CustomLog "logs/www.test2.com-access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
[root@www /]# vim /usr/local/httpd/conf/httpd.conf # 进入主配置文件
……
Include conf/extra/httpd-vhosts.conf # 找到本行后将开头 # 去掉
[root@www /]# systemctl restart httpd 重启服务使配置生效
クライアントアクセスWeb認証:
仮想ホストのIPアドレスをIIベースません:
何が各道との間の接続があり、混乱しに基づいてベースの仮想ホストのIPアドレスとドメイン名を書きません
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
……
<VirtualHost 192.168.1.10:80> # 配置监听地址为 192.168.1.10
ServerAdmin [email protected]
DocumentRoot "/var/www/html/test1com"
ServerName www.test1.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.test1.com-error_log"
CustomLog "logs/www.test1.com-access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.20:80> # 配置监听地址为 192.168.1.20
ServerAdmin [email protected]
DocumentRoot "/var/www/html/test2com"
ServerName www.test2.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.test2.com-error_log"
CustomLog "logs/www.test2.com-access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
第三に、ポートベースの仮想ホスト:
[root@www /]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
……
<VirtualHost 192.168.1.10:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/test1com"
ServerName www.test1.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.test1.com-error_log"
CustomLog "logs/www.test1.com-access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.10:8080> # 修改端口号
ServerAdmin [email protected]
DocumentRoot "/var/www/html/test2com"
ServerName www.test2.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/www.test2.com-error_log"
CustomLog "logs/www.test2.com-access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
listen 80 # 监听80端口(默认80也可不用写这一行)
listen 8080 # 监听8080端口
注意:各設定の完了後、サービスを再起動する必要があります