今天在单位服务器上用rpm包的方式部署多个服务的时候,出现问题。结果在网上查到了一篇帖子《rpm包安装apache发布多个虚拟主机》,看完这篇帖子之后才知道自己哪些地方配置的时候出现了遗漏。在此摘抄过来,以备自己以后查看。链接地址:http://www.2cto.com/net/201107/96685.html

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。用rpm包安装apache比较简单,下面就针对于apache的安装及用apahce发布多个虚拟主机介绍一下

1, 安装:

a:挂载光盘

[root@localhost ~]# mount /dev/hdc /mnt

b:安装

 20110719024544681.png

因为rpm包安装经常会遇到包之间的依赖关系,这里我们有yum来安装,

所以我们先配置yum,然后安装

配置yum

[root@localhost ~]# vi /etc/yum.repos.d/rhel-debuginfo.repo

[rhel-debuginfo]

name=Red Hat Enterprise Linux $releasever - $basearch - Debug

baseurl=file:///mnt/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

这样yum 就配置好了,在企业版5里yum默认是安装好的,只要简单配置

就可以使用

[root@localhost ~]# yum install httpd –y 回车apahce服务就装上了

c:我们现在启动服务并用客户端测试一下。 

 20110719024544719.png

20110719024544351.png

注:如果你在客户端没能打开请查看服务器端防火墙和selinux有没有关掉,

 [root@localhost ~]# setup 

\

用一台linux服务器我们可以同时发布多个虚拟主机,我们可以基于

1:一个主机能过多个IP地址来标识发布多个网站。

2:一台主机通过多个端口来标识发布多个网站。

3:一台主机通过不同的主机头来标识发布多个网站。

下面就给分别介绍,我们这里重点介绍第三种方法用不同的主机头来发布多个网站,这是我们最常用的方法。

一:一个主机能过多个IP地址来标识发布多个网站。

A:给本机添加多个IP地址

我们拷贝一个eth0的副本eth0:1然后我们配置eth0:1

\

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:1

\

    重启网络服务[root@localhost ~]# service network restart并查看网络配置

\

我们看到一个物理网卡就绑定了多个IP地址

B:简单的做两个网页

\

C:编辑配置文件

另外我们还要做好错误日志和访问日志的目录和日志文件,

\

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

我们看到在配置文件的最后给我们一些例子,我们可以复制多个来实现多个虚拟主机

效果如下:

\

 

D:测试

重启apache服务测试

  • \

\

二:一台主机通过多个端口来标识发布多个网站。

接着上一个实验,我们把刚才绑定在eth0上的eth0:1的IP地址去掉,

直接删除配置文件重启网络服务即可:

\

下面我们来编辑配置文件:

在配置文件里我们搜索Listen找到Listen 80然后在下面补两行

(可以把80端口注释掉)如:

\大概在配置文件的134

然后在配置文件的最后更改默认端口80为10000和20000见下图

\

其它的不用改动。

下面我们重启apache服务并在客户端测试。

\

注:我们在用端口号访问的时候不能192.168.8.8:10000这样直接输入到

地址栏里,要严格按照http://192.168.8.8:10000这样书写,(不要偷懒哟!)

 

三:一台主机通过不同的主机头来标识发布多个网站。

接着上面的实验,下面我们只需要修改配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

我们把刚才改动的一个地方大概在134行再改回原来的样子如下图:

\去掉刚才加的两行

\去掉972前面有#号注释

最后几行如图:

\

这样我们就可以重启我们的apache服务并在客户端测试了

注:用主机头发布的网站我们需要借助于DNS服务的帮助,

方法1:配置DNS服务,方法2:用hosts文件解析,

我们采用第二种方法:

在一台windows客户端上我们在hosts文件里添加如图;

\

我们用记事本打开hosts文件并在最后加上:

\

这样我们就可以打开浏览器测试了:

\

我们看到成功了。

 

本文出自 “

注:如果你在客户端没能打开请查看服务器端防火墙和selinux有没有关掉,

 [root@localhost ~]# setup 

\

用一台linux服务器我们可以同时发布多个虚拟主机,我们可以基于

1:一个主机能过多个IP地址来标识发布多个网站。

2:一台主机通过多个端口来标识发布多个网站。

3:一台主机通过不同的主机头来标识发布多个网站。

下面就给分别介绍,我们这里重点介绍第三种方法用不同的主机头来发布多个网站,这是我们最常用的方法。

一:一个主机能过多个IP地址来标识发布多个网站。

A:给本机添加多个IP地址

我们拷贝一个eth0的副本eth0:1然后我们配置eth0:1

\

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:1

\

    重启网络服务[root@localhost ~]# service network restart并查看网络配置

\

我们看到一个物理网卡就绑定了多个IP地址

B:简单的做两个网页

\

C:编辑配置文件

另外我们还要做好错误日志和访问日志的目录和日志文件,

\

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

我们看到在配置文件的最后给我们一些例子,我们可以复制多个来实现多个虚拟主机

效果如下:

\

 

D:测试

重启apache服务测试

  • \

\

二:一台主机通过多个端口来标识发布多个网站。

接着上一个实验,我们把刚才绑定在eth0上的eth0:1的IP地址去掉,

直接删除配置文件重启网络服务即可:

\

下面我们来编辑配置文件:

在配置文件里我们搜索Listen找到Listen 80然后在下面补两行

(可以把80端口注释掉)如:

\大概在配置文件的134

然后在配置文件的最后更改默认端口80为10000和20000见下图

\

其它的不用改动。

下面我们重启apache服务并在客户端测试。

\

注:我们在用端口号访问的时候不能192.168.8.8:10000这样直接输入到

地址栏里,要严格按照http://192.168.8.8:10000这样书写,(不要偷懒哟!)

 

三:一台主机通过不同的主机头来标识发布多个网站。

接着上面的实验,下面我们只需要修改配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

我们把刚才改动的一个地方大概在134行再改回原来的样子如下图:

\去掉刚才加的两行

\去掉972前面有#号注释

最后几行如图:

\

这样我们就可以重启我们的apache服务并在客户端测试了

注:用主机头发布的网站我们需要借助于DNS服务的帮助,

方法1:配置DNS服务,方法2:用hosts文件解析,

我们采用第二种方法:

在一台windows客户端上我们在hosts文件里添加如图;

\

我们用记事本打开hosts文件并在最后加上:

\

这样我们就可以打开浏览器测试了:

\

我们看到成功了。