Apache配置虚拟主机的三种方法(基于IP、端口、域名)
<p>1 Apache虚拟主机的实现方式有3种。</p><ul>
<li>基于IP的虚拟主机</li>
<li>基于端口的虚拟主机</li>
<li>基于域名的虚拟主机</li>
</ul>
<p>2.1 启用虚拟主机的准备工作</p>
<p> 2.1.1 安装httpd</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span> <span style="color: rgba(0, 0, 255, 1)">install</span> httpd -y</pre>
</div>
<p> 2.1.2禁用默认的主机模式</p>
<div class="cnblogs_code">
<pre># vim /etc/httpd/conf/<span style="color: rgba(0, 0, 0, 1)">httpd.conf
注释下面这行内容
#DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/html</span><span style="color: rgba(128, 0, 0, 1)">"</span></pre>
</div>
<p>2.2基于IP的虚拟主机配置</p>
<p> 2.2.1为主机添加多个IP</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># ip addr show dev eth0 <span style="color: rgba(51, 153, 102, 1)">#查看原有IP
</span></span><span style="color: rgba(128, 0, 128, 1)">2</span>: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu <span style="color: rgba(128, 0, 128, 1)">1500</span> qdisc pfifo_fast state UP qlen <span style="color: rgba(128, 0, 128, 1)">1000</span><span style="color: rgba(0, 0, 0, 1)">
link</span>/ether <span style="color: rgba(128, 0, 128, 1)">00</span>:0c:<span style="color: rgba(128, 0, 128, 1)">29</span>:<span style="color: rgba(128, 0, 128, 1)">77</span>:<span style="color: rgba(128, 0, 128, 1)">77</span><span style="color: rgba(0, 0, 0, 1)">:7d brd ff:ff:ff:ff:ff:ff
inet </span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>/<span style="color: rgba(128, 0, 128, 1)">24</span> brd <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.255</span><span style="color: rgba(0, 0, 0, 1)"> scope global eth0
inet6 fe80::20c:29ff:fe77:777d</span>/<span style="color: rgba(128, 0, 128, 1)">64</span><span style="color: rgba(0, 0, 0, 1)"> scope link
valid_lft forever preferred_lft forever
# ip addr add </span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>/<span style="color: rgba(128, 0, 128, 1)">24</span><span style="color: rgba(0, 0, 0, 1)"> dev eth0 <span style="color: rgba(51, 153, 102, 1)">#添加一个IP</span>
# ip addr show dev eth0 <span style="color: rgba(51, 153, 102, 1)">#查看添加后的IP信息, 此时有2个IP地址了。 </span></span><span style="color: rgba(51, 153, 102, 1)">200,201</span>
<span style="color: rgba(128, 0, 128, 1)">2</span>: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu <span style="color: rgba(128, 0, 128, 1)">1500</span> qdisc pfifo_fast state UP qlen <span style="color: rgba(128, 0, 128, 1)">1000</span><span style="color: rgba(0, 0, 0, 1)">
link</span>/ether <span style="color: rgba(128, 0, 128, 1)">00</span>:0c:<span style="color: rgba(128, 0, 128, 1)">29</span>:<span style="color: rgba(128, 0, 128, 1)">77</span>:<span style="color: rgba(128, 0, 128, 1)">77</span><span style="color: rgba(0, 0, 0, 1)">:7d brd ff:ff:ff:ff:ff:ff
inet </span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>/<span style="color: rgba(128, 0, 128, 1)">24</span> brd <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.255</span><span style="color: rgba(0, 0, 0, 1)"> scope global eth0
inet </span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>/<span style="color: rgba(128, 0, 128, 1)">24</span><span style="color: rgba(0, 0, 0, 1)"> scope global secondary eth0
inet6 fe80::20c:29ff:fe77:777d</span>/<span style="color: rgba(128, 0, 128, 1)">64</span><span style="color: rgba(0, 0, 0, 1)"> scope link
valid_lft forever preferred_lft forever</span></pre>
</div>
<p> 2.2.2添加虚拟主机配置文件</p>
<div class="cnblogs_code">
<pre># cd /etc/httpd/conf.d/<span style="color: rgba(0, 0, 0, 1)"><span style="color: rgba(51, 153, 102, 1)"> #进入配置目录</span>
# vim virtualhost.conf <span style="color: rgba(51, 153, 102, 1)">#创建一个配置文件, 编辑内容如下</span>
# </span><span style="color: rgba(0, 0, 255, 1)">cat</span><span style="color: rgba(0, 0, 0, 1)"> virtualhost.conf <span style="color: rgba(51, 153, 102, 1)">#查看并检查配置文件
</span></span><VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test200</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test200.com
</span></VirtualHost>
<VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test201</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test201.com
</span></VirtualHost><br><br></pre>
<pre># cd /var/www <span style="color: rgba(51, 153, 102, 1)">#切换目录</span>
# mkdir test200 test201 <span style="color: rgba(51, 153, 102, 1)">#创建目录</span>
# echo test200 >>./test200/index.html <span style="color: rgba(51, 153, 102, 1)">#创建IP为200的主页</span>
# echo test201 >>./test201/index.html <span style="color: rgba(51, 153, 102, 1)">#创建IP为200的主页</span></pre>
</div>
<p> 2.2.3测试</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#service httpd restart
Stopping httpd:
</span>Starting httpd: httpd: Could not reliably determine the server<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s fully qualified domain name, using localhost.localdomain for ServerName</span>
<span style="color: rgba(0, 0, 0, 1)">
<span style="color: rgba(51, 153, 102, 1)">#我们这里使用elinks进行测试, 当然用浏览器测试是一样的</span>
# elinks </span>-source <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span><span style="color: rgba(0, 0, 0, 1)">
test200
# elinks </span>-source <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span><span style="color: rgba(0, 0, 0, 1)">
test201</span></pre>
</div>
<p>2.3基于端口的虚拟主机配置</p>
<p> 2.3.1在主配置文件添加监听端口</p>
<div class="cnblogs_code">
<pre># vim /etc/httpd/conf/<span style="color: rgba(0, 0, 0, 1)">httpd.conf
<span style="color: rgba(51, 153, 102, 1)">#在原有行Listen 80行的基础上, 在添加一行</span>
Listen </span><span style="color: rgba(128, 0, 128, 1)">8080</span> </pre>
</div>
<p> 2.3.2添加8080的端口虚拟配置</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">cat</span><span style="color: rgba(0, 0, 0, 1)"> virtualhost.conf
</span><VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test200</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test200.com
</span></VirtualHost>
<VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test201</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test201.com
</span></VirtualHost><br><br><span style="color: rgba(51, 153, 102, 1)">
#下面的内容是在上面的配置的基础上添加的。
</span><VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">8080</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test201-8080</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test201</span>-<span style="color: rgba(128, 0, 128, 1)">8080</span><span style="color: rgba(0, 0, 0, 1)">.com
</span></VirtualHost><br><br></pre>
<pre># cd /var/www/ <span style="color: rgba(51, 153, 102, 1)">#切换目录</span>
# mkdir test201-8080 <span style="color: rgba(51, 153, 102, 1)">#创建目录</span>
# echo "test201-8080" >>./test201-8080/index.html <span style="color: rgba(51, 153, 102, 1)">#创建主页</span></pre>
</div>
<p> 2.3.2测试</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">#service httpd restart
Stopping httpd:
</span>Starting httpd: httpd: Could not reliably determine the server<span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(128, 0, 0, 1)">s fully qualified domain name, using localhost.localdomain for ServerName</span>
<span style="color: rgba(0, 0, 0, 1)">
# elinks </span>-source <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">80</span><span style="color: rgba(0, 0, 0, 1)">
test201
# elinks </span>-source <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span><span style="color: rgba(0, 0, 0, 1)">
test201
# elinks </span>-source <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">8080</span><span style="color: rgba(0, 0, 0, 1)">
test201</span>-<span style="color: rgba(128, 0, 128, 1)">8080</span></pre>
</div>
<p>2.4基于域名的虚拟主机配置</p>
<p> 2.4.1 添加域名的虚拟主机配置</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># vim virtualhost.conf <span style="color: rgba(51, 153, 102, 1)">#编辑虚拟主机配置文件</span>
# </span><span style="color: rgba(0, 0, 255, 1)">cat</span><span style="color: rgba(0, 0, 0, 1)"> virtualhost.conf <span style="color: rgba(51, 153, 102, 1)">#内容如下</span>
NameVirtualHost </span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>
<VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test200</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test200.com
</span></VirtualHost>
<VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test200net</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test200.net
</span></VirtualHost>
<VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">80</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test201</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test201.com
</span></VirtualHost>
<VirtualHost <span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.201</span>:<span style="color: rgba(128, 0, 128, 1)">8080</span>><span style="color: rgba(0, 0, 0, 1)">
DocumentRoot </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">/var/www/test2018080</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
ServerName www.test2018080.com
</span></VirtualHost><span style="color: rgba(0, 0, 0, 1)">
# </span><span style="color: rgba(0, 0, 0, 1)">service httpd restart
Stopping httpd:
</span><span style="color: rgba(0, 0, 0, 1)">Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName</span>
<br><br></pre>
<pre># cd /var/www <span style="color: rgba(51, 153, 102, 1)">#切换目录</span>
# mkdir test200net <span style="color: rgba(51, 153, 102, 1)">#创建目录</span>
# echo "test200net" >>./test200net/index.html<span style="color: rgba(51, 153, 102, 1)">#创建主页</span></pre>
</div>
<p>2.4.2 测试</p>
<p> 2.4.2.1 添加域名解析</p>
<p> 这里我们没有提供dns去解析,简单的使用hosts文件区解析就可以了。</p>
<div class="cnblogs_code">
<pre># vim /etc/<span style="color: rgba(0, 0, 0, 1)">hosts <span style="color: rgba(51, 153, 102, 1)">编辑hosts文件, 添加两行</span>
# </span><span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/<span style="color: rgba(0, 0, 0, 1)">hosts
</span><span style="color: rgba(128, 0, 128, 1)">127.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.1</span><span style="color: rgba(0, 0, 0, 1)"> localhost localhost.localdomain localhost4 localhost4.localdomain4
::</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> localhost localhost.localdomain localhost6 localhost6.localdomain6
</span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span><span style="color: rgba(0, 0, 0, 1)"> www.test200.com
</span><span style="color: rgba(128, 0, 128, 1)">192.168</span>.<span style="color: rgba(128, 0, 128, 1)">137.200</span> www.test200.net</pre>
</div>
<p> 接下来就可以测试了:</p>
<div class="cnblogs_code">
<pre># elinks -source <span style="color: rgba(0, 0, 0, 1)">http://</span><span style="color: rgba(0, 128, 0, 1)"><span style="color: rgba(0, 0, 0, 1)">www.test200.com</span> #测试.com域</span>
<span style="color: rgba(0, 0, 0, 1)">test200
# elinks </span>-source <span style="color: rgba(0, 0, 0, 1)">http://</span><span style="color: rgba(0, 128, 0, 1)"><span style="color: rgba(0, 0, 0, 1)">www.test200.net</span> #测试.net域</span>
test200net</pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/mzhaox/p/11216680.html
頁:
[1]