您的位置:首页 > 运维架构 > Apache

Apache默认虚拟主机

2017-12-19 23:01 357 查看

Apache默认虚拟主机

一台服务器可以访问多个网站,每个网站都是一个虚拟主机

概念:域名(主机名)、DNS、解析域名、hosts

任何一个域名解析到这台机器,都可以访问的虚拟主机就是默认虚拟主机

Apache的主配置文件/usr/local/apache2.4/conf/httpd.conf

下,网站的文件在

DocumentRoot "/usr/local/apache2.4/htdocs"
<Directory "/usr/local/apache2.4/htdocs">


主机域名在

ServerName www.example.com:80


但是,这样就有一个问题,一个配置了LAMP的linux服务器,只能跑一个网站。

要想跑多个网站,只能关闭主配置文件下的主机域名和网站文件后,做多个虚拟主机,而多个虚拟主机中的第一个被默认为默认虚拟主机。

在主配置文件下打开虚拟主机配置文件,主配置文件就失效了

在主配置文件下打开虚拟主机配置文件

[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/httpd.conf

# Virtual hosts
Include conf/extra/httpd-vhosts.conf


虚拟主机配置文件(/usr/local/apache2.4/conf/extra/httpd-vhosts.conf )

打开虚拟主机配置文件就能配置多个网站域名

[root@shuai-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/local/apache2.4/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>


每一个VirtualHost都表示一个虚拟主机,每一个虚拟主机都对应一个域名

对虚拟主机配置文件做配置:

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com //管理员的邮箱
DocumentRoot "/usr/local/apache2.4/docs/dummy-host.example.com" //网站根目录
ServerName dummy-host.example.com  //网站的域名
ServerAlias www.dummy-host.example.com //网站的别名
ErrorLog "logs/dummy-host.example.com-error_log" //错误日志
CustomLog "logs/dummy-host.example.com-access_log" common //访问日志
</VirtualHost>


定义一个网站的追主要的两个参数DocumentRoot,ServerName

写虚拟主机配置文件:

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/abc.com"
ServerName abc.com
ServerAlias www.abc.com www.123.com
ErrorLog "logs/abc.com-error_log"
CustomLog "logs/abc.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.111.com www.example.com
ErrorLog "logs/111.com-error_log"
CustomLog "logs/111.com-access_log" common
</VirtualHost>


创建文件

[root@shuai-01 ~]# mkdir /data/wwwroot/
[root@shuai-01 ~]# mkdir /data/wwwroot/abc.com
[root@shuai-01 ~]# mkdir /data/wwwroot/111.com


编写网页文件

[root@shuai-01 ~]# vim /data/wwwroot/abc.com/index.php

<?php
echo "111.com";
?>

[root@shuai-01 ~]# vim /data/wwwroot/111.com/index.php

<?php
echo "111.com";
?>


检查配置文件有没有出错

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK


重新加载配置文件

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful


命令curl

作用:打开网页

选项:

-x 指定IP地址

[root@shuai-01 ~]# curl -x192.168.176.135:80 abc.com
abc.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Apache虚拟主机