Apache基于IP、基于port和基于域名的三种虚拟主机的配置方法
基于相同
IP
不同
Port
的虚拟主机
1
)
vi /etc/httpd/conf/httpd.conf
(建议使用
nano
或
gedit
等编辑器,下同)
2
)将
Listen
字段改为
Listen 80
Listen 8080
(以上设置表示使用
80
以及
8080
端口,好像
8888
端口有冲突)
3
)更改虚拟主机部分为:
<VirtualHost 192.168.0.1:80>
DocumentRoot /var/www/html/website1
</VirtualHost>
<VirtualHost 192.168.0.1:8080>
DocumentRoot /var/www/html/website2
</VirtualHost>
4
)保存以上设置
5
)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
(注:在
/etc/httpd/conf/httpd.conf
中有
DirectoryIndex index.html index.html.var
,表示只读
index.html
,而不读
index.htm
,切记)
6
)
service httpd restart
完成以上设置后,可以通过以下方式访问:
1
)打开浏览器
2
)输入
http://192.168.0.1:80
以及
http://192.168.0.1:8080
2
.基于相同
Port
不同
IP
的虚拟主机
1
)不同
IP
地址的配置:
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth0:1
#vi ifcfg-eth0:1
将
eth0:1
更改为:
DEVICE=eth0:1
ONBOOT=YES
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
2
)
service network restart
3
)
vi /etc/httpd/conf/httpd.conf
4
)更改虚拟主机部分为:
<VirtualHost 192.168.0.1:80>
DocumentRoot /var/www/html/website1
</VirtualHost>
<VirtualHost 192.168.0.2:80>
DocumentRoot /var/www/html/website2
</VirtualHost>
5
)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
完成以上设置后,可以通过以下方式访问:
1
)打开浏览器
2
)输入
http://192.168.0.1:80
以及
http://192.168.0.2:80
3
.基于域名的虚拟主机的访问
1
)
vi /etc/http/conf/httpd.conf
2
)更改虚拟主机部分为:
NameVirtualHost 192.168.0.1
<VirtualHost www1.example.com>
DocumentRoot /var/www/html/website1
ServerName www1.example.com
</VirtualHost>
<VirtualHost www2.example.com>
DocumentRoot /var/www/html/website2
ServerName www2.example.com
</VirtualHost>
(注:以上设置中
NameVirtualHost
不可以省略)
3
)创建目录以及页面文件:
#mkdir –p /var/www/html/website1
#mkdir –p /var/www/html/website2
#cd /var/www/html/website1
#cat >index.html <<EOF
>website1
>EOF
#cd /var/www/html/website2
#cat >index.html <<EOF
>website2
>EOF
4
)完成以上设置后,可以通过以下方式访问:
1
)打开浏览器
2
)输入
http://www1.example.com
以及
http://www2.example.com
注意:如果虚拟主机的目录不在“
/var/www
”下面,则需要关闭
SELINUX
,方法如下:
把
/etc/selinux/config
中的
SELINUX=enforcing
改成
SELINUX=permissive
然后重启。
如果想立即生效,则执行:
# setenforce 0
命令就可以了。
这里是在一台配置了3个IP的虚拟机下的配置
Listen 80
Listen 81
#same IP ,diff port
<VirtualHost 192.168.174.130:80>
DocumentRoot /usr/local/apache/htdocs/test1
# ServerName test1.localhost
</VirtualHost>
<VirtualHost 192.168.174.130:81>
DocumentRoot /usr/local/apache/htdocs/test2
# ServerName test2.localhost
</VirtualHost>
#same port ,diff IP
<VirtualHost 192.168.174.131:80>
DocumentRoot /usr/local/apache/htdocs/test1
</VirtualHost>
<VirtualHost 192.168.174.132:80>
DocumentRoot /usr/local/apache/htdocs/test2
</VirtualHost>
#more domain
NameVirtualHost 192.168.174.130:80
<VirtualHost www.test1.com>
DocumentRoot /usr/local/apache/htdocs/test1
ServerName www.test1.com
</VirtualHost>
<VirtualHost www.test2.com>
DocumentRoot /usr/local/apache/htdocs/test2
ServerName www.test2.com
</VirtualHost>
还要到/et/hosts 中添加
192.168.174.130 www.test1.com
192.168.174.130 www.test2.com
本文转载自:http://hi.baidu.com/ghasky/blog/item/08d1b2ac785235024b36d68b.html
分享到:
相关推荐
根据给定文件的信息,本文将详细介绍Apache的三种虚拟主机配置方式:基于名称的虚拟主机(Name-based Virtual Hosts)、基于IP地址的虚拟主机(IP-based Virtual Hosts)以及基于端口的虚拟主机(Port-based Virtual...
apche的虚拟主机配置一共有三种,即基于IP、基于port、以及基于域名的。为了后面试验,需要配置两个IP地址(我主机现在的IP地址是10.10.50.100),命令如下: #ip addr add 10.10.50.101/16 dev eth0 #ip addr add ...
### CentOS 下 Apache 配置多域名或多端口映射详解 #### 一、概述 在 CentOS 系统中,Apache 是一个广泛使用的 Web 服务器软件,它可以用来托管多个不同的网站或应用服务。为了实现这一点,我们需要对 Apache 进行...
Apache虚拟主机创建脚本是一个Bash脚本,用于自动化创建基于Apache Web服务器的虚拟主机配置。该脚本支持多种类型的虚拟主机设置,包括基于域名、基于IP地址以及基于端口的虚拟主机,并允许用户指定服务器别名和覆盖...
3. 修改 apache 主配置文件,添加虚拟主机配置。 4. 网卡绑定多个 IP 地址。 5. 创建虚拟主机的主页文件。 6. 重启 httpd 服务。 实验心得体会 1. 在搭建 DNS 服务器时,需要注意域名解析文件的正确性,避免手动...
虚拟主机配置 最后,在`httpd.conf`中引入`httpd-vhosts.conf`文件,该文件用于配置虚拟主机。每个虚拟主机对应一个域名,通过`ServerName`指令指定,同时定义了文档根目录`DocumentRoot`。 ```apacheconf Include ...
虚拟主机有基于 IP 和基于名称两种类型。基于 IP 的虚拟主机是根据请求到达的 IP 地址来区分不同的站点,而基于名称的虚拟主机则是根据 HTTP 请求头中的 Host 字段来识别。 **vhostgen 使用场景** 1. **快速配置**...
- 可以通过`<VirtualHost>`块来定义不同的虚拟主机,支持基于IP、基于端口以及基于域名等多种类型。 #### 三、关键配置选项详解 1. **ServerRoot** - 定义了Apache服务器根目录的位置,例如:`ServerRoot "/etc/...
#### 四、Apache虚拟主机配置 Apache支持通过虚拟主机技术在一个服务器上托管多个网站。可以通过以下几种方式定义虚拟主机: - **基于IP:**不同的网站绑定到不同的IP地址上。 - **基于端口:**不同的网站绑定到...
19. **Listen**和**VirtualHost**: `Listen`用于指定Apache监听的端口或地址,`VirtualHost`则允许配置多个虚拟主机,每个都有自己的域名、日志文件等。 配置Apache和Tomcat时,还需要配置Tomcat的`server.xml`文件...
在Ubuntu中配置虚拟主机,可以允许你通过不同的域名访问同一台服务器上的不同网站。首先,确认服务器的IP地址,例如`192.168.2.101`。 1. 在`/etc/hosts`文件中添加一条记录,例如: ```text 192.168.2.101 ...
- 分离配置:考虑将虚拟主机配置移到单独的文件,以保持`server.xml`的整洁。 - 安全性:确保每个虚拟主机的权限分离,防止跨域安全问题。 通过以上步骤,我们可以成功地在Tomcat中配置多个域名,实现一个服务器...
在Apache配置中,创建虚拟主机配置文件(如`/etc/httpd/conf.d/vhost.conf`),定义每个站点的`VirtualHost`区块,包括DocumentRoot(网站根目录)和ServerName。 7. **配置虚拟主机 - 常规信息**: 在虚拟主机...
- **配置虚拟主机**:在Apache的虚拟主机配置文件中添加如下内容: ```apacheconf *:80> ServerName example.com JkMount /example/* worker.list ``` - **重启Apache**:确保配置生效。 #### 四、测试与...
5. 在`httpd.conf`的末尾添加虚拟主机配置,实现动态二级域名转发: ```apache NameVirtualHost *:80 *:80> ServerAdmin service@21yey.com DocumentRoot D:/ApacheTomcat/webapps/Test ServerName ...
#### 四、虚拟主机配置 (Virtual Hosts) 虚拟主机允许在同一台物理服务器上运行多个网站。`httpd.conf`文件中可以通过`<VirtualHost>`标签来定义这些虚拟主机。 ##### 1. ServerAdmin ``` ServerAdmin webmaster@...