续apache安装;
apache实现虚拟主机的方法一共有三种:
通过不同的IP地址
通过不同的域名
通过不同的端口号
关于apache的安装请看我这篇文档:https://blog.csdn.net/jinxiaopengM/article/details/105254073
实验名称:apache的虚拟主机配置
实验环境:192.168.100.101
实验步骤:(如下)
搭建虚拟主机模式:
开启虚拟主机选项:
[root@apache ~]# vim /usr/local/apache/conf/httpd.conf
去掉注释
重启:[root@apache ~]# /etc/init.d/apachectl restart
配置虚拟ip:[root@apache ~]# ifconfig ens33:1 192.168.100.111
查看
建站点目录:
[root@apache ~]# mkdir /usr/local/apache/htdocs/bbs
[root@apache ~]# vim /usr/local/apache/htdocs/bbs/index.html
定义虚拟主机文件:[root@apache ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost 192.168.100.101:80>
ServerAdmin root@jinxiaopengM.com
DocumentRoot "/usr/local/apache/htdocs/"
ServerName www.apache.com
ErrorLog "logs/www.apache.com-error_log"
CustomLog "logs/www.apache.com-access_log" common
</VirtualHost>
<VirtualHost 192.168.100.111:80>
ServerAdmin root@jinxiaopengM.com
DocumentRoot "/usr/local/apache/htdocs/bbs"
ServerName bbs.apache.com
ErrorLog "logs/bbs.apache.com-error_log"
CustomLog "logs/bbs.apache.com-access_log" common
</VirtualHost>
重启服务令其生效:[root@apache ~]# systemctl restart apache
测试:
先访问100.111:
在去访问100.101
以上就是虚拟主机,基于同一端口,不同ip。
由于我这里并没有还原快照,所以,我的主配置文件里的设置还是有效的,也就是说,我的apache服务现在支持虚拟主机功能;
配置通过不同的域名去访问。
还是同样的文件 只不过把ip地址换成了不同域名;(命令如下)
[root@apache ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost www.jinxiaopengM.com:80>
ServerAdmin root@jinxiaopengM.com
DocumentRoot "/usr/local/apache/htdocs/"
ServerName www.apache.com
ErrorLog "logs/www.apache.com-error_log"
CustomLog "logs/www.apache.com-access_log" common
</VirtualHost>
<VirtualHost bbs.jinxiaopengM.com:80>
ServerAdmin root@jinxiaopengM.com
DocumentRoot "/usr/local/apache/htdocs/bbs"
ServerName bbs.apache.com
ErrorLog "logs/bbs.apache.com-error_log"
CustomLog "logs/bbs.apache.com-access_log" common
</VirtualHost>
进入节点主机文件定义域名解析(因为现在没有dns所以只能用这个文件代替解析):
[root@apache ~]# vim /etc/hosts
文件中添加ip和域名
192.168.100.101 www.jinxiaopengM.com
192.168.100.111 bbs.jinxiaopengM.com
重启并查看端口:
[root@apache ~]# /etc/init.d/apachectl restart
[root@apache ~]# netstat -anput | grep 80
更改本机的hosts文件C:\Windows\System32\drivers\etc\hosts作解析
更改不了就拖到桌面,改完再给移回去。
为了好区分我们去把网页内容改一下:
测试:访问www.jinxiaopengM.com
访问bbs.jinxiaopengM.comOk 这是通过虚拟机和真机中的hosts文件 解析的!
基于不同端口
进入配置文件更改端口:
[root@apache ~]# vim /usr/local/apache/conf/httpd.conf
(添加一个监听端口号,只要不冲突,任意)
Listen 80
Listen 8080
更改虚拟主机配置文件
[root@apache ~]# vim /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin root@jinxiaopengM.com
DocumentRoot "/usr/local/apache/htdocs/"
ServerName www.apache.com
ErrorLog "logs/www.apache.com-error_log"
CustomLog "logs/www.apache.com-access_log" common
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin root@jinxiaopengM.com
DocumentRoot "/usr/local/apache/htdocs/bbs"
ServerName bbs.apache.com
ErrorLog "logs/bbs.apache.com-error_log"
CustomLog "logs/bbs.apache.com-access_log" common
</VirtualHost>
重启服务查看端口;
[root@apache ~]# /etc/init.d/apachectl restart
[root@apache ~]# netstat -anput | grep 80
测试:192.168.100.111
192.168.100.111:8080
192.168.100.101
192.168.100.101:8080
Ok,实验完成!
实验总结:关于apache的虚拟主机其实并不难,只要理解它的原理就可以非常快速的学好apache服务。
如有不懂或建议请私信我qq:34997003 欢迎交流(加好友表明来意)。