apache虚拟主机
2015-11-26 11:12
591 查看
访问web从协议上)默认是80)
这个时候就需要设置虚拟主机(VirtualHost).基于域名,以及它们的混合
的主目录/var/www/html/如s1下面建立index.html配置server为它添加2设置的文章将客户机的DNS这2每次修改配置文件httpd.conf才能使配置生效
这是一种最通用的情况,修改httpd.conf监听的所有IP上做多域名虚拟主机
<VirtualHost *>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s1
ServerName s1.domain1.com
ErrorLog logs/ error_log
TransferLog logs/ access_log
</VirtualHost>
<VirtualHost *>
ServerAdmin xxx@ixxx.com
DocumentRoot /var/www/html/s2
ServerName s2.domain1.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
然后在测试机上访问这两个域名:s1.domain1.com问题:看到的是什么?
注意上面的这段话
*:* is a NameVirtualHost
default server s1.domain1.com
监听的任意IP而s1.domain1.com除非访问的是我们设置的域名,通过访问同一个IP(对httpd.conf将之前做的多域名虚拟主机去掉(即
# Use name-based virtual hosting.
#
# NameVirtualHost * 注意下面的配置部分我并没用ServerName在客户端通过访问IP:80混合实验
例如
和s2.domain1.com
和s4.domain2.com默认端口所以不需要写端口号
配置过程
增加之后记得要重启bind.
增加监听口
Listen 80
Listen 81
的80即为名称虚拟主机的意思)
<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s1
ServerName s1.domain1.com
ErrorLog logs/ error_log
TransferLog logs/ access_log
</VirtualHost>
<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s2
ServerName s2.domain1.com
ErrorLog logs/ error_log
TransferLog logs/access_log
</VirtualHost>
<VirtualHost *:81>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s3
ServerName s3.domain2.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
<VirtualHost *:81>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s4
ServerName s4.domain2.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
端口默认访问到s3这句话表示这是访问80后面会看到效果)
port 80 namevhost s1.domain1.com (/usr/local/apache2/conf/httpd.conf:1065)
port 80 namevhost s2.domain1.com (/usr/local/apache2/conf/httpd.conf:1073)
Syntax OK
注意这两个是默认端口80
http://s3.domain2.com:81/
http://s4.domain2.com:81/ 如直接访问http://s4.domain2.com 因为从80是80如果用80则会看到s3是81的虚拟主机
访问不同的IP,而且大家一般都是用域名访问的.适用环境:server访问.
服务.
随系统启动
BOOTPROTO=static
IPADDR=192.168.0.112 //查看当前ip确实启用成功.
下面对httpd.conf注意上面红色的部分,在多端口的时候这样做是可以的).作为域名给解析了.
"httpd.conf" 1157L, 38072C written
[root@server1 conf]# ../bin/httpd -S
[Mon Jul 30 14:09:06 2007] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.0.112 (check DNS) -- or specify an explicit ServerName
[Mon Jul 30 14:09:06 2007] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.0.111 (check DNS) -- or specify an explicit ServerName
VirtualHost configuration:
192.168.0.111:* bogus_host_without_reverse_dns (/usr/local/apache2/conf/httpd.conf:1065)
192.168.0.112:* bogus_host_without_reverse_dns (/usr/local/apache2/conf/httpd.conf:1074)
Syntax OK
后面的名称我们随意写
<VirtualHost 192.168.0.111>
ServerAdmin hong.yao@infonaligy.com
DocumentRoot /var/www/html/s1
ServerName s1
ErrorLog logs/dbpi_web-error_log
TransferLog logs/dbpi_web-access_log
</VirtualHost>
<VirtualHost 192.168.0.112>
ServerAdmin hong.yao@infonaligy.com
DocumentRoot /var/www/html/s2
ServerName s2
ErrorLog logs/dbpi_web-error_log
TransferLog logs/dbpi_web-access_log
</VirtualHost>
和192.168.0.112因为在这种情况下并不需要域名访问,相应的ServerName完全没问题).常常会碰到的问题
还是能够正常的启动和访问,将这句话修改如下
ServerName 192.168.0.111 <span times="" new="" roman';="" mso-hansi-font-family:="" 'times="" roman'"="" style="padding: 0px; margin: 0px; font-family: 宋体;">当然根据你的实际情况修改为本机的IP<span times="" new=""
roman';="" mso-hansi-font-family:="" 'times="" roman'"="" style="padding: 0px; margin: 0px; font-family: 宋体;">或者域名
这个时候就需要设置虚拟主机(VirtualHost).基于域名,以及它们的混合
的主目录/var/www/html/如s1下面建立index.html配置server为它添加2设置的文章将客户机的DNS这2每次修改配置文件httpd.conf才能使配置生效
这是一种最通用的情况,修改httpd.conf监听的所有IP上做多域名虚拟主机
<VirtualHost *>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s1
ServerName s1.domain1.com
ErrorLog logs/ error_log
TransferLog logs/ access_log
</VirtualHost>
<VirtualHost *>
ServerAdmin xxx@ixxx.com
DocumentRoot /var/www/html/s2
ServerName s2.domain1.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
然后在测试机上访问这两个域名:s1.domain1.com问题:看到的是什么?
注意上面的这段话
*:* is a NameVirtualHost
default server s1.domain1.com
监听的任意IP而s1.domain1.com除非访问的是我们设置的域名,通过访问同一个IP(对httpd.conf将之前做的多域名虚拟主机去掉(即
# Use name-based virtual hosting.
#
# NameVirtualHost * 注意下面的配置部分我并没用ServerName在客户端通过访问IP:80混合实验
例如
和s2.domain1.com
和s4.domain2.com默认端口所以不需要写端口号
配置过程
增加之后记得要重启bind.
增加监听口
Listen 80
Listen 81
的80即为名称虚拟主机的意思)
<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s1
ServerName s1.domain1.com
ErrorLog logs/ error_log
TransferLog logs/ access_log
</VirtualHost>
<VirtualHost *:80>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s2
ServerName s2.domain1.com
ErrorLog logs/ error_log
TransferLog logs/access_log
</VirtualHost>
<VirtualHost *:81>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s3
ServerName s3.domain2.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
<VirtualHost *:81>
ServerAdmin xxx@xxx.com
DocumentRoot /var/www/html/s4
ServerName s4.domain2.com
ErrorLog logs/error_log
TransferLog logs/access_log
</VirtualHost>
端口默认访问到s3这句话表示这是访问80后面会看到效果)
port 80 namevhost s1.domain1.com (/usr/local/apache2/conf/httpd.conf:1065)
port 80 namevhost s2.domain1.com (/usr/local/apache2/conf/httpd.conf:1073)
Syntax OK
注意这两个是默认端口80
http://s3.domain2.com:81/
http://s4.domain2.com:81/ 如直接访问http://s4.domain2.com 因为从80是80如果用80则会看到s3是81的虚拟主机
访问不同的IP,而且大家一般都是用域名访问的.适用环境:server访问.
服务.
随系统启动
BOOTPROTO=static
IPADDR=192.168.0.112 //查看当前ip确实启用成功.
下面对httpd.conf注意上面红色的部分,在多端口的时候这样做是可以的).作为域名给解析了.
"httpd.conf" 1157L, 38072C written
[root@server1 conf]# ../bin/httpd -S
[Mon Jul 30 14:09:06 2007] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.0.112 (check DNS) -- or specify an explicit ServerName
[Mon Jul 30 14:09:06 2007] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.0.111 (check DNS) -- or specify an explicit ServerName
VirtualHost configuration:
192.168.0.111:* bogus_host_without_reverse_dns (/usr/local/apache2/conf/httpd.conf:1065)
192.168.0.112:* bogus_host_without_reverse_dns (/usr/local/apache2/conf/httpd.conf:1074)
Syntax OK
后面的名称我们随意写
<VirtualHost 192.168.0.111>
ServerAdmin hong.yao@infonaligy.com
DocumentRoot /var/www/html/s1
ServerName s1
ErrorLog logs/dbpi_web-error_log
TransferLog logs/dbpi_web-access_log
</VirtualHost>
<VirtualHost 192.168.0.112>
ServerAdmin hong.yao@infonaligy.com
DocumentRoot /var/www/html/s2
ServerName s2
ErrorLog logs/dbpi_web-error_log
TransferLog logs/dbpi_web-access_log
</VirtualHost>
和192.168.0.112因为在这种情况下并不需要域名访问,相应的ServerName完全没问题).常常会碰到的问题
还是能够正常的启动和访问,将这句话修改如下
ServerName 192.168.0.111 <span times="" new="" roman';="" mso-hansi-font-family:="" 'times="" roman'"="" style="padding: 0px; margin: 0px; font-family: 宋体;">当然根据你的实际情况修改为本机的IP<span times="" new=""
roman';="" mso-hansi-font-family:="" 'times="" roman'"="" style="padding: 0px; margin: 0px; font-family: 宋体;">或者域名
相关文章推荐
- 图文讲解如何搭建Apache服务器
- CentOS下安装配置LAMP(Linux+Apache+MySQL+PHP)
- Apache Commons 工具类介绍及简单使用
- centos6.4搭建apache+mysql+php环境
- Windows上简单的Apache守护进程
- ubuntu下django和apache的部署
- Apache Spark大数据分析入门(一)
- apache2虚拟主机实现一个服务器绑定多个域名
- Azure上Linux VM防DDOS攻击:使用Apache mod_evasive
- lamp配置(ubuntu sever)
- 基于Apache的Apusic集群搭建
- Linux + Apache + PHP 环境搭建
- org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException
- apache Kafka简介
- Mac OS X中配置Apache
- Apache Spark学习:利用Eclipse构建Spark集成开发环境
- Apache的站点快速切换工具a2dissite和a2dissite
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
- Apache相关操作
- apache虚拟主机简单的配置