配置apache虚拟主机
优选(VR虚拟现实)配置apache虚拟主机
优选(VR虚拟现实)配置apache虚拟主机
配置apache虚拟主机
通过以下文章:实现:同一ip不同端口对应不同的站点目录
具体实现:
1.在httpd.conf中,设置listen IP:80 listen IP:8080
然后在virtualhost中设置:
DocumnetRoot 1
DocumnetRoot 2
我们通常所说的虚拟主机
[url=javascript:;]技术[/url]
就是将一台(或者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都可以实现WWW、FTP、Mail等基本的Internet服务,就像使用独立的主机一样。
目前网站服务器的虚拟主机平台使用以开放的Apache为最多,其次是微软的Windows IIS。Apache具有跨平台(FreeBSD/Linux/Windows/Solaris/Other UNIX)、易于维护与最佳安全性等优点。
Apache是率先支持基于IP虚拟主机的服务器之一。Apache 1.1及其更新版本同时支持基于IP和基于主机名的虚拟主机,不同的虚拟主机有时会被称为基于主机(host-based) 或非IP虚拟主机(non-IP virtual hosts)。
用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法以及优缺点。以便大家在具体
的应用中能够选择最合适的实现方法。
一、Apache实现基于IP地址的虚拟主机(每个站点拥有一个独立IP地址)
Apache2.2多个虚拟主机+Tomcat6多个虚拟主机整合配置
Apache2.2多个虚拟主机+Tomcat6多个虚拟主机整合配置
Apache与Tomcat介绍
Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。Tomcat服务器是一个免费的开放源代码的Web应用服务器,它是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP 规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
为什么需要整合
整合的最主要原因是为了在现有的硬件条件下提供最大的负载。
如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制;
在测试中,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在提出一个“整合”解决方案:将html与jsp的功能部分进行明确分工,让tomcat 只处理jsp部分,其它的由apache这个web server处理。Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。
Apache 虚拟主机的配置方法总结
Apache 虚拟主机的配置方法总结:
虚拟主机
1. 在httpd.conf中找到Include conf/extra/httpd-vhosts.conf 把前面的#去除
2. 添加监听如:Listen 8080
Listen 192.168.0.100:80
3. 删除或注掉DocumentRoot "D:/Apache2.2/htdocs"
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "D:/Apache2.2/htdocs"
4. 在配置extra/httpd-vhosts.conf时,如果要保留原来httpd.conf中默认的访问目录和域名,必须为默认域名也创建一个virtualHost,样例如下(监听端口是8080):
5. httpd-vhosts.conf配置如下:
NameVirtualHost *:8080
NameVirtualHost 192.168.0.100:80
在文档底部接着添加:
ServerName njumasoft
DocumentRoot F:/php/UmasoftFrw
Options FollowSymLinks
如何在Linux上安装和配置Apache服务器
如何在Linux上安装和配置Apache服务器
Apache是一个流行的开源Web服务器软件,被广泛用于搭建和管
理网站。在Linux系统上安装和配置Apache服务器是一项基本的技能。本文将介绍如何在Linux操作系统下安装和配置Apache服务器。
一、安装Apache服务器
首先,打开终端窗口,并使用以下命令来更新软件包列表:
sudo apt update
接下来,使用以下命令来安装Apache服务器:
sudo apt install apache2
安装过程中,您需要输入管理员密码进行确认。安装完成后,Apache服务器将自动启动。
二、配置Apache服务器
1. 配置文件路径
Apache的配置文件位于/etc/apache2目录下。在终端中使用cd命令
进入该目录:
cd /etc/apache2
2. 主配置文件
编辑主配置文件apache2.conf,使用以下命令打开该文件:
sudo nano apache2.conf
在打开的文件中,可以找到一些常用的配置选项,您可以根据需要
进行修改。例如,您可以更改服务器名称、监听端口等。
3. 虚拟主机配置
虚拟主机配置允许您在同一台服务器上运行多个网站。默认情况下,Apache服务器已经为您配置了一个默认的虚拟主机。
如果您想添加更多的虚拟主机,您可以在/etc/apache2/sites-available
目录下创建配置文件。使用以下命令进入该目录:
cd /etc/apache2/sites-available
使用以下命令创建一个新的虚拟主机配置文件,例如
apache下配置详解
Apache下关于虚拟主机的配置
关于虚拟主机的概述:
配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。
主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名
步骤详解:
1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot
一行注释掉来关闭中心服务。
2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。
3.my.conf文件配置详解
1)基于IP配置
ServerName
DocumentRoot "/www/"
ServerName
DocumentRoot "/www/"
以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。
Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。
关于辅助ip的设置:
ipaddr add 192.168.0.112/24 dev eth0
这是为网卡设置一个辅助ip。
假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。
mac apache php配制简书
mac apache php配制简书
摘要:
1.介绍Apache、PHP 和简述它们的配置过程
2.配置MAC 上的Apache
3.配置PHP
4.在简述上部署PHP 和Apache
5.配置过程中遇到的问题和解决方法
正文:
一、介绍
本文将介绍如何在MAC 上配置Apache 和PHP,并使用简书进行部署。在这个过程中,我们将遇到一些问题,也会介绍相应的解决方法。
二、配置MAC 上的Apache
1.安装Apache
在终端中输入以下命令安装Apache:
```
sudo install httpd
```
2.配置Apache
(1)打开终端,输入以下命令启动Apache:
```
sudo systemctl start httpd
```
(2)输入以下命令查看Apache 状态:
```
sudo systemctl status httpd
```
(3)打开浏览器,输入"http://localhost",如果能看到"It works!",说明Apache 安装成功。
三、配置PHP
1.安装PHP
在终端中输入以下命令安装PHP:
```
sudo install php
```
2.配置PHP
(1)输入以下命令查看PHP 版本:
```
-bash-3.2$ php -v
```
(2)输入以下命令配置PHP:
```
sudo nano /etc/php.ini
```
(3)在php.ini 文件中,找到"extension=so",取消注释,并修改为:```
extension=so.魄力
```
(4)保存并关闭文件。
四、在简书上部署PHP 和Apache
apache+yum配置
一、apache
在虚拟机下装一个linux系统,这里选用RHEL6.1作为web服务器和yum 源,拿到一个干净的系统,接下面的步骤操作:
1、先配好IP,虚拟机的网卡得选桥接模式(这样这块虚拟的网卡能当
成一块物理网卡一样连接到网络里,不然,还得在本地连接中把虚
拟网络适配器共享到物理的网络适配器中)我们可以自定义一个IP,
在实验室,我们是212和213网段,这里,我把它的IP定义成
192.168.212.200,重启网络服务,发现能ping通网段内其它主机,
网络问题已解决。
2、现在是apache安装的问题了,安装有多种方式,yum、rpm、编译
安装,这里我选用的是最简单快捷的yum安装,它会解决软件的依
赖性问题,先把系统的iso挂载上来,记得点connect,这样光驱里
就有iso了,系统会自动打开文件窗口,不用管它,我们要装的apache
软件就在里面。
3、接着自定义一个软件库
vim /etc/yum.repos.d/my.repo
在里面添加如下内容
[rhiso]
name=123 #名字自定义
baseurl=file:///misc/cd #指定软件库位置(file://表示协议,第三个“/”表示文件位置)
gpgcheck=0 #设置gpgcheck=0会让yum不检查每个下载的RPM的GnuPG签名
:wq 保存
4、接下来就可以直接yum install httpd 它会把所有有依赖性的
软件都装好
5、装好之后,就可以开始装置httpd.conf这个配置文件了,可以用
whereis httpd.conf 查找一下这个文件在哪,找到之后,用vim编辑
Apache服务器配置
MaxSpareServers 20
MinSpareServers 5
10.DirectoryIndex
在此命令后添加其他的默认主页文件名,例如可以添加index.htm等。 当然这只是Apache的一些基本设置项,大家可以根据自己的实际情况加以 灵活的修改,以充分发挥Apache的潜能。如果修改配置文件之后让其立即 生效,可以重启Apache服务。
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一般不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
#grep –v "#"/etc/httpd/conf/httpd.conf 此命令可以去掉所有注释行,只显示配置信息。
1.DocumentRoot 该参数指定Apache服务器存放网页的路径,默认
所有要求提供HTTP服务的连接,都以这个目录为主目 录。在每个Apache服务器存取的目录中,可以针对每 个目录及子目录来设置允许及禁止客户端访问的服务。 以下为Apache的默认值:
Linux网络操作系统
linux-Apache 配置
Apache 配置
一、安装Apache
下载地址:/
1. 安装Apache
# tar zxvf httpd-2.2.11.tar.gz
# cd httpd-2.2.11
# ./configure --prefix=/usr/local/apache --enable-so
//编译时加上加载模块参数--enable-so
# make
# make install
2. 配置系统启动时自动启动Apache服务。
# vi /etc/rc.d/rc.local
//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。
二、配置Apache
1. 修改httpd.conf文件
# vi /usr/local/apache/conf/httpd.conf
1)设置根目录的路径
根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。命令如下:
2)设置监听IP地址及端口号
默认侦听本机所有IP地址的TCP80端口,命令如下:
Listen 80
用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。比如:Listen 192.168.99.9:80
Linsten 172.16.0.20:8080
3)设置系统管理员E-m ail
使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:
4)设置服务器主机的名称
Apache 虚拟主机 VirtualHost 配置
虚拟主机(Virtual Host)是在同一台机器搭建属于不同域名或者基于不同IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的IP 和端口, 也可让多个网站拥有不同的域名.
Apache 是世界上使用最广的Web 服务器, 从1.1 版开始支持虚拟主机. 本文将讲解在不同服务器(Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用Apache 搭建虚拟主机来搭建多个网站.
主旨
本文旨在让读者知道如何在同一台机器上搭建多个网站, 并附带一些使用技巧. 以操作为主, 不会过多谈及原理.
目标
本文是写给拥有一定的服务器配置和管理技能, 工作中需要同时维护多个网站的网站主, 网站开发者和网络管理员. 如果你是互联网公司的配管工程师, 对计算机服务器原理和操作十分熟悉, 请忽视本文, 你不会在上面找到太多有价值的东西.
以下是各操作系统的配置方法.
∙Redhat Enterprise Linux
∙Ubuntu Linux
∙Windows
∙Mac OS
Redhat Enterprise Linux
Redhat Enterprise Linux (包括CentOS Linux), 是使用最广的Linux 服务器, 大量的网站应用都部署在其上.
1. 打开文件/etc/httpd/conf/httpd.conf, 搜索VirtualHost example, 找到代码如下:
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name.
apache2.4.7虚拟主机配置
apache2.4.7虚拟主机配置
在网上找了好多关于apache2.4.7虚拟主机配置的问题,都没找到确切的答案,经过我自己的摸索终于找到了解决方案。
1.打开apache->conf->extra->httpd-vhost.conf文件。
2.按照模板复制一个虚拟主机配置
例如:
这里要配置好你存放的文件目录。和你设置的访问域名。
3.配置apache->conf->httpd.conf配置文件
如果你用的不是默认的80端口需要增加listen
例如:
增加的listen地址要与虚拟主机配置保存一致
3.更改httpd.conf中的虚拟主机配置
要将虚拟主机访问的地址与之前的保持一直,红色框框内就是需要更改的地方。
最后一个代表让所有人访问,当然本机的话只能是局域网。把只能让本机访问那个注释掉。
4.引入虚拟主机,同样是在httpd.conf配置文件中
apache2.4.7配置文件下没有,要自己输入
保存好后重启服务器就可以访问你配置的域名了
我用的是easyPHP集成环境14.1VC11。
Apache配置详解
Apache配置详解
Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。
主站点的配置(基本配置)
(1) 基本配置:
ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。
PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。
Listen 80 #服务器监听的端口号。
ServerName :80 #主站点名称(网站的主机名)。
ServerAdmin admin@ #管理员的邮件地址。
DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。
以下是对主站点的目录进行访问控制:
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
在上面这段目录属性配置中,主要有下面的选项:
Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:
ExecCGI: 在该目录下允许执行CGI脚本。
FollowSymLinks: 在该目录下允许文件系统使用符号连接。
Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。
配置虚拟主机的步骤
配置虚拟主机的步骤
第一步:配置本地的DNS——hosts
第二步:配置Apache主配置文件——httpd.conf
文件路径:C:\Program Files (x86)\phpStudy\Apache2\conf\httpd.conf
第三步:虚拟主机配置——vhosts.conf
文件路径:C:\Program Files (x86)\phpStudy\Apache2\conf\vhosts.conf
PHP简介
PHP超文本预处理器。是嵌入HTML文件中的服务器端脚本程序。换句话:PHP只能运行在服务器上。一个HTML文件中,可以包含的代码:HTML代码、CSS代码、JS代码、PHP代码等。
PHP的主要功能:web应用开发(线上产品)。
PHP入门比较简单,语法与C、Java、C#、JS等相似。
PHP主要用函数做各种操作,而JS主要用内置对象作操作。PHP语言基础
●PHP代码,跟ASP一样,都是嵌入到HTML文件中去的。
●PHP代码标记:
●PHP文件的扩展名:.php
●PHP文件的执行,必须从域名开始访问(必须要经过虚拟主机)。
●访问PHP文件的路径上,不能包含空格和中文。
●PHP也是区分大小写,但关键字和函数名不区分大小写。
●PHP中每条语句,必须以英文下的分号结束(;)。
PHP注释
●HTML注释:
●CSS注释:/* */
●JS注释://或/* */
注意的功能:是为以后修改项目时,找问题非常方便。
●PHP的单行注释://或#
●PHP的多行注释:/* */
●提示:多行注释不能相互嵌套。
●注意:PHP的注释,与代码一样,最终在客户端都是不可见。
apache用法
apache用法
Apache是一款流行的web服务器软件,它能够提供网页浏览、动态内容创建、数据库服务等多种功能。在本文中,我们将介绍Apache 的安装、配置、管理、安全性和优化等方面的知识。
一、安装Apache
安装Apache非常简单,您可以从官方网站下载适合您操作系统的安装包。在安装过程中,您需要选择安装路径、配置文件位置等选项,并设置一些基本参数。安装完成后,您可以通过浏览器或命令行来测试Apache是否正常运行。
二、配置Apache
Apache的配置文件位于`/etc/httpd/conf`目录下,该文件包含了Apache服务器的各种设置。配置文件使用了较为简洁的语法,方便修改和调整。您可以使用文本编辑器打开配置文件,根据您的需求进行修改。
在配置文件中,您可以设置虚拟主机、监听地址和端口、启用或禁用某些模块等功能。同时,您还可以配置SSL证书,以实现安全传输。配置完成后,需要重新启动Apache服务器,使配置生效。
三、管理Apache
Apache提供了多种管理工具,方便您监控和调整服务器状态。您可以使用命令行工具`apachectl`来查看服务器状态、启动和停止服务、重新加载配置等操作。此外,您还可以使用Web管理工具,如Apache自带的Web管理界面或第三方工具,通过浏览器进行管理操作。
四、安全性
Apache具有较高的安全性,但仍然需要注意一些安全问题。首先,确保您的配置文件没有安全漏洞,如弱密码、不正确的权限设置等。其次,及时更新Apache软件和配置文件,以修复潜在的安全漏洞。最后,限制对配置文件的访问,以防止未经授权的修改。
Web服务器(Apache)虚拟主机的配置
Web服务器(Apache)虚拟主机的配置
一。定义
所谓虚拟主机是指在一台服务器里运行几个网站,提供WEB、FTP、Mail等服务。
二。虚拟主机的实现方法有三种:
基于IP的方法,基于主机名的方法和基于端口的法官法。
①基于IP的方法:
在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
②基于端口的方法:
一个IP地址,通过不同的端口实在不同网站的访问。
③基于主机名的方法:
设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
三。三种虚拟主机实现的基本配置
①基于IP虚拟主机的实现:
多个ip,需要把中心主机取消
打开web服务的主配置文档:vim /etc/httpd/conf/httpd.conf
DocumentRoot 注释掉
<VirtualHost 192.168.0.20:80>
DocumentRoot “/www/”
ServerName
<VirtualHost/>
<VirtualHost 192.168.0.25:80>
DocumentRoot “/www/”
ServerName
<VirtualHost/>
vim /etc/hosts
192.168.0.20
192.168.0.25
Windows环境下的Apache服务器的配置
Windows环境下的Apache服务器的配置
现如今,随着互联网的飞速发展,越来越多的人意识到搭建自己的
网站的重要性。而Apache服务器作为一种开源、跨平台的服务器软件,因其可靠性和稳定性受到了广大开发者的喜爱。本文将详细介绍如何
在Windows环境下配置Apache服务器。
一、下载Apache服务器软件
首先,我们需要在Apache官方网站上下载适用于Windows的Apache服务器软件。可以打开浏览器,输入“Apache官网”,进入官网
下载页面。根据自己的系统版本选择合适的软件进行下载。
二、安装Apache服务器软件
下载完成后,双击安装包文件,按照提示进行软件的安装。在安装
过程中,可以根据个人的需求进行一些自定义设置,比如选择安装路径、选择是否作为系统服务等。
三、配置Apache服务器
1. 打开Apache安装目录
安装完成后,我们需要找到Apache服务器的安装目录。一般来说,安装目录位于C盘的“Program Files”文件夹下的“Apache Group”文件夹中。
2. 编辑httpd.conf文件
在安装目录中找到“conf”文件夹,其中包含了Apache服务器的配置文件“httpd.conf”。使用文本编辑器(如Notepad++)打开该文件。
3. 修改监听端口
在httpd.conf文件中,搜索“Listen”,找到对应的行。默认情况下,Apache服务器监听的端口是80。如果需要更改监听端口,可以将该行的端口号改为其他未被占用的端口。
4. 设置网站根目录
在httpd.conf文件中,搜索“DocumentRoot”,找到对应的行。该行表示网站的根目录,默认为“htdocs”。如果需要修改网站根目录,可以将该行中的路径改为用户自定义的目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
配置apache虚拟主机
通过以下文章:实现:同一ip不同端口对应不同的站点目录
具体实现:
1.在httpd.conf中,设置listen IP:80 listen IP:8080
然后在virtualhost中设置:
DocumnetRoot 1
DocumnetRoot 2
我们通常所说的虚拟主机
[url=javascript:;]技术[/url]
就是将一台(或者一组)服务器的资源(系统资源、网络带宽、存储空间等)按照一定的比例分割成若干台相对独立的“小主机”的技术。每一台这样的“小主机”在功能上都可以实现WWW、FTP、Mail等基本的Internet服务,就像使用独立的主机一样。
目前网站服务器的虚拟主机平台使用以开放的Apache为最多,其次是微软的Windows IIS。Apache具有跨平台(FreeBSD/Linux/Windows/Solaris/Other UNIX)、易于维护与最佳安全性等优点。
Apache是率先支持基于IP虚拟主机的服务器之一。Apache 1.1及其更新版本同时支持基于IP和基于主机名的虚拟主机,不同的虚拟主机有时会被称为基于主机(host-based) 或非IP虚拟主机(non-IP virtual hosts)。
用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法以及优缺点。以便大家在具体的应用中能够选择最合适的实现方法。
一、Apache实现基于IP地址的虚拟主机(每个站点拥有一个独立IP地址)
使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP 地址后,可以采用以下两种方式之一来设置Apache。
1、为每个虚拟主机运行一份Apache
采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP地址上接收服务请求。
优点:各个虚拟主机之间互不干扰,安全性高。
缺点:占用系统资源较多。
2、多个虚拟主机共享同一份Apache
采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可:
DocumentRoot /www/ghq1
…
优点:占用系统资源比上一种方式少。
缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。
例如服务器一个网卡上绑定有两个IP地址(172.16.3.40和172.16.3.50)分别对应域名和的服务,配置如下:
服务器配置(apache的配置文件httpd.conf)
Listen 80
DocumentRoot /www/ghq1
ServerName
DocumentRoot /www/ghq2
ServerName
配置简单说明:“Listen”默认httpd服务会监控第80号通信端口,“Listen”选项让用户自行指定apache 服务器监控的IP地址或通信端口。
“DocumentRoot”:指定apache 服务器存放网页的根目录;“ServerName”:允许用户自行设置主机名,这个名称将被送到远程连接程序,以取代安装apache 服务器主机的真实名称。和构成虚拟主机的语法结构,其中的IP就是我们在服务器上绑定的不同的IP地址,也可以是IP地址加上通信端口号(见下面的例子)。
如果服务器有两个IP地址(172.16.3.40和172.16.3.50)分别对应域名 和。对每个域名,我们都希望在80端口和8080端口发布我们的网站。可以这样配置:
服务器配置(apache的配置文件httpd.conf)
Listen 172.16.3.40:80
Listen 172.16.3.40:8080
Listen 172.16.3.50:80
Listen 172.16.3.50:8080
DocumentRoot /www/ghq1-80
ServerName
DocumentRoot /www/ghq1-8080
ServerName
DocumentRoot /www/ghq2-80
ServerName
DocumentRoot /www/ghq2-8080
ServerName
因此,建立虚拟主机,我们要做好不同的IP对应的域名解析
[url=javascript:;]工作[/url]
,建立相应的目录(如/www/ghq1),将相应的主页内容存放在相应的目录中即可。
二、Apache实现基于主机名的虚拟主机服务(一个IP地址实现多个网站)
基于主机名字的虚拟主机服务,是目前虚拟主机比较常用的一种方案。因为它不需要更多的IP地址,无须什么特殊的软硬件支持。而且现在的浏览器大都支持这种虚拟主机的实现方法。基于域名的的虚拟主机是根据客户端提交的HTTP头中的关于主机名的部分决定的。使用这种技术,很多虚拟主机可以享用同一个IP地址。
基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS服务器将每个主机名映射(CNAMES)到正确的IP地址,然后配置Apache HTTP服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP地址(IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。
优点:只要一个IP地址就可以提供大量的虚拟主机服务。
缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache 进程才能起作用。因此不适合进行大规模的虚拟主机服务。
如果服务器只有一个IP地址,而在DNS中有很多映射到这个机器。我们想要在这个机器上运行和两个站点。在Apache服务器的配置中创建一个虚拟主机并不会自动在DNS中对主机名做相应更新。我们必须自己在DNS中添加域名来指向我们的IP地址。否则别人是无法看到我们的web 站点。
服务器配置(apache的配置文件httpd.conf)
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *
DocumentRoot /www/ghq1
ServerName
# Other directives here
DocumentRoot /www/ghq2
ServerName
# Other directives here
因为*(星号)匹配所有的地址,所以主服务器不接收任何请求。因为 首先出现在配置文件中,所以它拥有最高优先级,可以认为是默认或首要服务器。这意味着如果一个接受的请求不能与某个ServerName指令相匹配,它将会由第一个VirtualHost所伺服。
当我们的IP地址无法确定的时候,使用*是很方便的--比如说,ISP给我们配置的是动态IP地址(如ADSL拨号上网),而我们有使用了某种动态域名解析系统时。因为*匹配任何IP 地址,所以在这样的情况下,不论IP地址如何变化,我们都不需要另外进行配置。上述配置就是我们在绝大多数情况下使用基于域名的虚拟主机时将要用到的。