apache虚拟主机配置的3种方式


   Apache的虚拟主机功能 (Virtual Host) 是可以让一台服务器基于IP、主机名或端口号实现提供多个网站服务的技术

    下面我介绍一下这3种方式具体的配置流程:

 

   一.基于ip地址

 

    首先我们需要在虚拟机中线安装Apache服务程序,Apache服务程序的软件包名叫做httpd,所以我们首先执行命令yum install httpd 从yum仓库中下载服务,输入y确认下载。

 

 

 

 

 

 

接着我们运行Apache服务,使用命令systemctl start httpd启动服务。可以使用命令 systemctl enable httpd来设置Apache服务开机自启动。

 

 

 

 

 

 

接下来就要配置基于IP地址的服务了,我们先是nmtui命令为网卡添加多个地址供我们实验。终端中输入此命令就可以看到网卡配置了。我们通过方向键与回车键点击编辑连接中的网卡ens33,在里面再添加三个IP地址,分别是192.168.42.110    192.168.42.120    192.168.42.130  然后依次确认回到第一个界面,重新启用一次连接,即现断开连接再重新连接,我们的配置便生效了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 下一步我们依次使用ping命令ping我们配置的三个IP地址,ping通即成功。

 

 

 

 

 

 

 下一步我们分别创建网站数据目录:在/home/wwwroot下分别创建三个网站数据目录

 

 

 

 

 

 

 

 

 如图中输出命令可同时创建三个目录,然后我们分别在三个网站数据目录下面写入主页文件,内容就写该网站的IP地址。

 

 

 

 

 

 

 如图所示我们已经写进去了。

 

下一步我们在配置文件中描述基于IP地址的虚拟主机    vim /etc/httpd/conf/httpd.conf   直接将我们的信息找地方写入即可

 

<VirtualHost 192.168.42.110>
DocumentRoot /home/wwwroot/110
ServerName www.linuxprobe.com
<Directory /home/wwwroot/110>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

<VirtualHost 192.168.10.120>
DocumentRoot /home/wwwroot/120
ServerName bbs.linuxprobe.com
<Directory /home/wwwroot/120 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

<VirtualHost 192.168.10.130>
DocumentRoot /home/wwwroot/130
ServerName tech.linuxprobe.com
<Directory /home/wwwroot/130 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

 

 

 

 

 

配置完毕后我们要重启一下httpd服务。systemctl restart httpd
最后我们就可以分别以不同IP访问验证结果了。如图所示即为成功。另外两个类同于此。

 

 

 

 

 

 2.基于主机名(域名)

 

首先我们还是先下载httpd服务(回复快照以后),配置基于主机名的httpd服务,首先我们要配置网卡IP地址与hosts文件,hosts文件作用是定义IP地址与主机名的映射关系,即强制将某个主机名地址解析到指定的IP地址。vim /ect/hosts 注意要分行写,按照图示

 

 

 

 

 然后与配置IP一样分别创建网站数据目录并分别在网站目录中下入不同的首页文件

 

 

 

 

 

 

 中间不注意写错,我重新写了一下不影响。

 

接着在主配置文件中/etc/httpd/conf/httpd.conf 配置基于主机名称的虚拟主机。

 

 

 

<VirtualHost 192.168.42.100>

 

DocumentRoot "/home/wwwroot/www"

 

 

 

ServerName "www.linuxprobe.com"

 

 

 

<Directory "/home/wwwroot/www">

 

 

 

AllowOverride None

 

 

 

Require all granted

 

 

 

</directory>

 

 

 

</VirtualHost>

 

 

 

 <VirtualHost 192.168.42.100>

 

 

 

DocumentRoot "/home/wwwroot/bbs"

 

 

 

ServerName "bbs.linuxprobe.com"

 

 

 

<Directory "/home/wwwroot/bbs">

 

 

 

AllowOverride None

 

 

 

Require all granted

 

 

 

</Directory>

 

 

 

</VirtualHost>

 

 

 

 

 

 

 

<VirtualHost 192.168.42.100>

 

 

 

DocumentRoot "/home/wwwroot/tech"

 

 

 

ServerName "tech.linuxprobe.com"

 

 

 

<Directory "/home/wwwroot/tech">

 

 

 

AllowOverride None

 

 

 

Require all granted

 

 

 

</directory>

 

 

 

</VirtualHost>

 

 

 

 

 

 

 

 配置完毕后重启httpd服务然后进入火狐测试,如图即位成功。

 

 

 

 

 

 

 

 

3.基于端口

 

我们还是在安装了httpd服务后进行下一步 分别创建端口为6111.6222网站数据目录,并分别在网站数据目录中写入不同内容的主页文件。

 

 

 

 

 

 

 

 然后在配置文件/etc/httpd/conf/httpd.conf,中的约42行的Listen 80 在下面追加 

 

Listen 6111

 

Listen 6222

 

 

 

 

 

 

 

 

然后在主配置文件的末尾按下面格式定义虚拟主机信息:

 

<VirtualHost 192.168.42.100:6111>
DocumentRoot “/home/wwwroot/6111”
ServerName www.linuxprobe.com
<Directory “/home/wwwroot/6111”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

<VirtualHost 192.168.42.100:6222>
DocumentRoot “/home/wwwroot/6222”
ServerName bbs.linuxprobe.com
<Directory “/home/wwwroot/6222”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

 

 

 

 

 

 

 

 

 配置完成后重新开启httpd服务,就可以使用浏览器测试了

 

 

 

 

 

 

 如图所示配置成功,大功告成了。

 

     

     


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM