在Apache服务器上添加虚拟主机功能可以通过以下几种方法实现:
1、基于IP地址:
配置网卡IP地址:为网卡添加多个IP地址,可以使用nmtui
命令(或其他适合的系统工具)来添加,添加IP地址192.168.2.252、192.168.2.253、192.168.2.254等,配置完成后需要重启网卡以使新的IP地址生效。
创建网站数据目录:在服务器上的合适位置(如/home/wwwroot
目录下)分别创建与不同IP对应的网站数据目录,例如/home/wwwroot/100
、/home/wwwroot/110
、/home/wwwroot/120
等。
编辑配置文件:打开Apache的主配置文件/etc/httpd/conf/httpd.conf
,在文件末尾添加基于IP地址的虚拟主机配置信息,如下所示:
<VirtualHost 192.168.2.100> DocumentRoot "/home/wwwroot/100" ServerName www.example1.com <Directory "/home/wwwroot/100"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost 192.168.2.110> DocumentRoot "/home/wwwroot/110" ServerName www.example2.com <Directory "/home/wwwroot/110"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost 192.168.2.120> DocumentRoot "/home/wwwroot/120" ServerName www.example3.com <Directory "/home/wwwroot/120"> AllowOverride None Require all granted </Directory> </VirtualHost>
重启Apache服务:配置完成后,保存文件并重启Apache服务,使配置生效,可以使用命令systemctl restart httpd
来重启服务。
访问验证:通过浏览器或使用命令行工具(如curl)分别访问不同的IP地址,验证虚拟主机配置是否正确。
2、基于域名:
配置网卡IP地址与hosts文件:确保服务器有一个固定的IP地址,并且在服务器的hosts文件中添加相应的域名映射关系,编辑/etc/hosts
文件,添加以下内容:
192、168.10.10 www.linuxprobe.com 192、168.10.10 bbs.linuxprobe.com 192、168.10.10 tech.linuxprobe.com
创建网站数据目录并写入首页文件:在服务器上的合适位置创建不同的网站数据目录,并在每个目录中创建相应的首页文件,如index.html。
编辑配置文件:打开Apache的主配置文件/etc/httpd/conf/httpd.conf
,在文件末尾添加基于域名的虚拟主机配置信息,如下所示:
<VirtualHost *:80> ServerName www.linuxprobe.com DocumentRoot "/home/wwwroot/www" <Directory "/home/wwwroot/www"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName bbs.linuxprobe.com DocumentRoot "/home/wwwroot/bbs" <Directory "/home/wwwroot/bbs"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName tech.linuxprobe.com DocumentRoot "/home/wwwroot/tech" <Directory "/home/wwwroot/tech"> AllowOverride None Require all granted </Directory> </VirtualHost>
重启Apache服务:配置完成后,保存文件并重启Apache服务。
访问验证:通过浏览器或使用命令行工具分别访问不同的域名,验证虚拟主机配置是否正确。
3、基于端口号:
配置服务器IP地址:确保服务器有一个固定的IP地址。
创建网站数据目录并写入首页文件:在服务器上的合适位置创建不同的网站数据目录,并在每个目录中创建相应的首页文件,如index.html,创建端口为6111和6222的网站数据目录,并写入不同的主页文件内容。
编辑配置文件:打开Apache的主配置文件/etc/httpd/conf/httpd.conf
,在文件中找到监听80端口的配置行(Listen 80),在其下方添加监听其他端口的配置,如Listen 6111和Listen 6222,在文件末尾添加基于端口号的虚拟主机配置信息,如下所示:
<VirtualHost 192.168.10.10:6111> DocumentRoot "/home/wwwroot/6111" ServerName www.linuxprobe.com <Directory "/home/wwwroot/6111"> AllowOverride None Require all granted </Directory> </VirtualHost> <VirtualHost 192.168.10.10:6222> DocumentRoot "/home/wwwroot/6222" ServerName bbs.linuxprobe.com <Directory "/home/wwwroot/6222"> AllowOverride None Require all granted </Directory> </VirtualHost>
重启Apache服务:配置完成后,保存文件并重启Apache服务。
访问验证:通过浏览器或使用命令行工具分别访问不同的端口号(如http://192.168.10.10:6111和http://192.168.10.10:6222),验证虚拟主机配置是否正确。