一台服务器可以访问多个网站, 每个网站都是一个虚拟主机
概念: 域名 (主机名),DNS, 解析域名, hosts
任何一个域名解析到这台机器, 都可以访问的虚拟主机就是默认虚拟主机
1, 默认虚拟主机
这个站点就是默认的虚拟主机
2, 设置自定义虚拟主机 (第一个为默认)
VIM /usr/local/apache2/conf/httpd.conf // 搜索 httpd-vhost, 去掉 #
VIM /usr/local/apache2/conf/extra/httpd-vhosts.conf 这个是虚拟主机配置文件 // 改为如下
- <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
- ErrorLog "logs/111.com-error_log"
- CustomLog "logs/111.com-access_log" common
- </VirtualHost>
ServerAdmin 这个用来定义管理员的邮箱, 要不要无所谓, 可以删除
DocumentRoot 这个用来定义网站的根目录在哪
ServerAlias 别名
ErrorLog 指定错误日志
CustomLog 指定访问日志
3, 测试上面配置的虚拟主机
首先创建目录
- mkdir /data/wwwroot/
- mkdir /data/wwwroot/abc.com
- mkdir /data/wwwroot/111.com
在目录中添加一个 PHP 代码文件
- VIM /data/wwwroot/abc.com/index.PHP // 内容如下
- <?PHP
- echo "abc.com"
- ?>
- VIM /data/wwwroot/111.com/index.PHP // 内容如下
- <?PHP
- echo "111.com"
- ?>
4, 使上面配置生效
- /usr/local/apache2/bin/apachectl -t // 测试语法
- /usr/local/apache2/bin/apachectl graceful // 重新加载配置文件, 不会重启服务
- 5,
编辑 vi /etc/hosts 文件来设置 abc.com 访问到本机上
或者 curl 命令用法:
- curl -x192.168.111.120:80 abc.com
- curl -x192.168.111.120:80 www.abc.com
- curl -x192.168.111.120:80 111.com
来源: http://www.bubuko.com/infodetail-2931966.html