Web虚拟主机指的是在同一台服务器中运行多个web站点,其中的每位站点实际上并不独立占用整个服务器linux虚拟主机系统,因而被称为“虚拟”Web主机linux虚拟主机系统,通过虚拟Web主机服务可以充分借助服务器的硬件资源。
使用httpd可以十分便捷的去搭建虚拟主机服务器美国linux主机,只须要运行一个httpd服务就就能同时支撑大量的web站点。httpd支持的虚拟主机类型有那么三种(与Windows的IIS服务一样):
1、相同IP、端标语、不同域名的虚拟主机;
2、相同IP、不同端标语的虚拟主机;
3、不同IP、相同端标语的虚拟主机;
大多数运维人员在搭建虚拟主机时,应当都是采用第一种方案,基于不同域名来做虚拟主机,这也是最人性化的一种方案。
一、开始搭建基于域名的虚拟主机:
1、为虚拟主机提供域名解析
DNS服务安装参考:,若对DNS服务的配置不太熟悉,建议参考博文链接去搭建DNS服务,而不建议参考下边的内容(没解释这么详尽):
[root@localhost /]# vim /etc/named.conf #named服务器主配置文件
..................... #省略部分内容
zone "test1.com" in {
type master;
file "test1.com.zone";
};
zone "test2.com" in {
type master;
file "test2.com.zone";
};
[root@localhost /]# vim /var/named/test1.com.zone #test1.com区域配置文件
...................... #省略部分内容
in ns www.test1.com.
www in a 192.168.1.1
[root@localhost /]# vim /var/named/test2.com.zone #test2.com区域配置文件
...................... #省略部分内容
in ns www.test2.com.
www in a 192.168.1.1
[root@localhost named]# systemctl start named #启动DNS服务
2、为虚拟主机打算网页文档
为每位虚拟web主机打算网站目录及网页文档。为了便捷测试,分别为每位虚拟web主机提供包含不同的首页文件:
[root@localhost named]# mkdir -p /var/www/test1com
[root@localhost named]# mkdir -p /var/www/test2com
[root@localhost named]# echo "www.test1.com
" > /var/www/test1com/index.html
[root@localhost named]# echo "www.test2.com
" > /var/www/test2com/index.html
希望上述操作你们可以读懂在干哪些吧,懒得解释了。
3、添加虚拟主机配置
[root@localhost named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf #创建独立的配置文件
该文件默认存在)
..................... #省略部分内容
#设置test1虚拟站点区域
#配置监听地址及端口号,*代表任意地址
ServerAdmin 916551516@qq.com #设置服务器管理员的邮箱,当服务异常时,
向该邮箱发送消息。该行也可删除。
DocumentRoot "/var/www/test1com" #设置网站根目录
ServerName www.test1.com #配置域名
ErrorLog "logs/test1-error_log" #错误日志存放在/usr/local/httpd/logs
CustomLog "logs/test1-access_log" common #访问记录日志存放处
#设置目录访问权限
require all granted
# 设置test2虚拟站点区域
ServerAdmin 916551516@qq.com
DocumentRoot "/var/www/test2com"
ServerName www.test2.com
ErrorLog "logs/test2-error_log"
CustomLog "logs/test2-access_log" common
require all granted
[root@localhost named]# vim /usr/local/httpd/conf/httpd.conf #修改网站主配置文件
............... #进入主配置文件后,在末行模式下执行 /vhosts ,定位到下面该行
Include conf/extra/httpd-vhosts.conf #删除该行开头的#号,以便加载独立的配置文件
[root@localhost named]# systemctl restart httpd #重启服务使配置生效,
我把httpd添加成了系统服务,
才可使用systemctl命令来控制httpd服务,若没添加为系统服务,
还是老老实实的使用服务自带的控制工具吧。
4、在顾客机中访问虚拟web主机
验证吧,结果如下:
齐活,基于不同域名的虚拟主机至此就做完了。
二、基于IP地址的虚拟主机:
(十万个不想接着往下写了,由于接出来的内容了解即可北京linux培训,不会用到的,不过呢.....为了以防万一,还是简单写一下吧)
注意,每一种方法之间毫无任何关联,千万别把基于IP地址的虚拟主机和基于域名的搞混了
[root@localhost named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf #编辑子配置文件
..............
#配置监听地址192.168.1.10
ServerAdmin 916551516@qq.com
DocumentRoot "/var/www/test1com"
ErrorLog "test1-error_log"
CustomLog "test1-access_log" common
require all granted
#配置监听地址为192.168.1.10
ServerAdmin 916551516@qq.com
DocumentRoot "/var/www/test2com"
ErrorLog "test2-error_log"
CustomLog "test2-access_log" common
require all granted
[root@localhost named]# vim /usr/local/httpd/conf/httpd.conf
......................
Include conf/extra/httpd-vhosts.conf #加载独立的配置文件
[root@localhost named]# systemctl restart httpd #重启httpd服务
顾客机访问:
二、基于端口的虚拟主机:
[root@localhost named]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf #编辑子配置文件
#配置监听端口号为80
ServerAdmin 916551516@qq.com
DocumentRoot "/var/www/test1com" #正常访问的网站目录
ErrorLog "test1-error_log"
CustomLog "test1-access_log" common
require all granted
#配置监听端口号为8000
ServerAdmin 916551516@qq.com
DocumentRoot "/var/www/test2com" #后台管理系统的网站目录
ErrorLog "test2-error_log"
CustomLog "test2-access_log" common
require all granted
listen 8000 #监听8000,由于80端口默认监听,所以不用写listen 80,写上会报错
[root@localhost named]# vim /usr/local/httpd/conf/httpd.conf
......................
Include conf/extra/httpd-vhosts.conf #加载独立的配置文件
[root@localhost named]# systemctl restart httpd #重启httpd服务
顾客机访问:
注意:在访问时老实点输入:http://192.168.1.1:8000。不输入“http://”的话访问不到。
Linux公社的RSS地址:
本文永久更新链接地址: