今天在单位服务器上用rpm包的方式部署多个服务的时候,出现问题。结果在网上查到了一篇帖子《rpm包安装apache发布多个虚拟主机》,看完这篇帖子之后才知道自己哪些地方配置的时候出现了遗漏。在此摘抄过来,以备自己以后查看。链接地址:http://www.2cto.com/net/201107/96685.html
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。用rpm包安装apache比较简单,下面就针对于apache的安装及用apahce发布多个虚拟主机介绍一下
1, 安装:
a:挂载光盘
[[email protected] ~]# mount /dev/hdc /mnt
b:安装
因为rpm包安装经常会遇到包之间的依赖关系,这里我们有yum来安装,
所以我们先配置yum,然后安装
配置yum
[[email protected] ~]# 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默认是安装好的,只要简单配置
就可以使用
[[email protected] ~]# yum install httpd –y 回车apahce服务就装上了
c:我们现在启动服务并用客户端测试一下。
注:如果你在客户端没能打开请查看服务器端防火墙和selinux有没有关掉,
[[email protected] ~]# setup
用一台linux服务器我们可以同时发布多个虚拟主机,我们可以基于
1:一个主机能过多个IP地址来标识发布多个网站。
2:一台主机通过多个端口来标识发布多个网站。
3:一台主机通过不同的主机头来标识发布多个网站。
下面就给分别介绍,我们这里重点介绍第三种方法用不同的主机头来发布多个网站,这是我们最常用的方法。
一:一个主机能过多个IP地址来标识发布多个网站。
A:给本机添加多个IP地址
我们拷贝一个eth0的副本eth0:1然后我们配置eth0:1
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
重启网络服务[[email protected] ~]# service network restart并查看网络配置
我们看到一个物理网卡就绑定了多个IP地址
B:简单的做两个网页
C:编辑配置文件
另外我们还要做好错误日志和访问日志的目录和日志文件,
[[email protected] ~]# 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这样书写,(不要偷懒哟!)
三:一台主机通过不同的主机头来标识发布多个网站。
接着上面的实验,下面我们只需要修改配置文件
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf
我们把刚才改动的一个地方大概在134行再改回原来的样子如下图:
去掉刚才加的两行
去掉972行前面有#号注释
最后几行如图:
这样我们就可以重启我们的apache服务并在客户端测试了
注:用主机头发布的网站我们需要借助于DNS服务的帮助,
方法1:配置DNS服务,方法2:用hosts文件解析,
我们采用第二种方法:
在一台windows客户端上我们在hosts文件里添加如图;
我们用记事本打开hosts文件并在最后加上:
这样我们就可以打开浏览器测试了:
我们看到成功了。
注:如果你在客户端没能打开请查看服务器端防火墙和selinux有没有关掉,
[[email protected] ~]# setup
用一台linux服务器我们可以同时发布多个虚拟主机,我们可以基于
1:一个主机能过多个IP地址来标识发布多个网站。
2:一台主机通过多个端口来标识发布多个网站。
3:一台主机通过不同的主机头来标识发布多个网站。
下面就给分别介绍,我们这里重点介绍第三种方法用不同的主机头来发布多个网站,这是我们最常用的方法。
一:一个主机能过多个IP地址来标识发布多个网站。
A:给本机添加多个IP地址
我们拷贝一个eth0的副本eth0:1然后我们配置eth0:1
[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:1
重启网络服务[[email protected] ~]# service network restart并查看网络配置
我们看到一个物理网卡就绑定了多个IP地址
B:简单的做两个网页
C:编辑配置文件
另外我们还要做好错误日志和访问日志的目录和日志文件,
[[email protected] ~]# 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这样书写,(不要偷懒哟!)
三:一台主机通过不同的主机头来标识发布多个网站。
接着上面的实验,下面我们只需要修改配置文件
[[email protected] ~]# vim /etc/httpd/conf/httpd.conf
我们把刚才改动的一个地方大概在134行再改回原来的样子如下图:
去掉刚才加的两行
去掉972行前面有#号注释
最后几行如图:
这样我们就可以重启我们的apache服务并在客户端测试了
注:用主机头发布的网站我们需要借助于DNS服务的帮助,
方法1:配置DNS服务,方法2:用hosts文件解析,
我们采用第二种方法:
在一台windows客户端上我们在hosts文件里添加如图;
我们用记事本打开hosts文件并在最后加上:
这样我们就可以打开浏览器测试了:
我们看到成功了。