配置apache虚拟主机

配置apache虚拟主机
配置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地址)

使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个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)分别对应域名https://www.360docs.net/doc/0d14768576.html,和https://www.360docs.net/doc/0d14768576.html,的服务,配置如下:

服务器配置(apache的配置文件httpd.conf)

Listen 80

DocumentRoot /www/ghq1

ServerName https://www.360docs.net/doc/0d14768576.html,

DocumentRoot /www/ghq2

ServerName https://www.360docs.net/doc/0d14768576.html,

配置简单说明:“Listen”默认httpd服务会监控第80号通信端口,“Listen”选项让用户自行指定apache 服务器监控的IP地址或通信端口。

“DocumentRoot”:指定apache 服务器存放网页的根目录;“ServerName”:允许用户自行设置主机名,这个名称将被送到远程连接程序,以取代安装apache 服务器主机的真实名称。和构成虚拟主机的语法结构,其中的IP就是我们在服务器上绑定的不同的IP地址,也可以是IP地址加上通信端口号(见下面的例子)。

如果服务器有两个IP地址(172.16.3.40和172.16.3.50)分别对应域名https://www.360docs.net/doc/0d14768576.html, 和https://www.360docs.net/doc/0d14768576.html,。对每个域名,我们都希望在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 https://www.360docs.net/doc/0d14768576.html,

DocumentRoot /www/ghq1-8080

ServerName https://www.360docs.net/doc/0d14768576.html,

DocumentRoot /www/ghq2-80

ServerName https://www.360docs.net/doc/0d14768576.html,

DocumentRoot /www/ghq2-8080

ServerName https://www.360docs.net/doc/0d14768576.html,

因此,建立虚拟主机,我们要做好不同的IP对应的域名解析

[url=javascript:;]工作[/url]

,建立相应的目录(如/www/ghq1),将相应的主页内容存放在相应的目录中即可。

二、Apache实现基于主机名的虚拟主机服务(一个IP地址实现多个网站)

基于主机名字的虚拟主机服务,是目前虚拟主机比较常用的一种方案。因为它不需要更多的IP地址,无须什么特殊的软硬件支持。而且现在的浏览器大都支持这种虚拟主机的实现方法。基于域名的的虚拟主机是根据客户端提交的HTTP头中的关于主机名的部分决定的。使用这种技术,很多虚拟主机可以享用同一个IP地址。

基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS服务器将每个主机名映射(CNAMES)到正确的IP地址,然后配置Apache HTTP服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP地址(IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。

优点:只要一个IP地址就可以提供大量的虚拟主机服务。

缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache 进程才能起作用。因此不适合进行大规模的虚拟主机服务。

如果服务器只有一个IP地址,而在DNS中有很多映射到这个机器。我们想要在这个机器上运行https://www.360docs.net/doc/0d14768576.html,和https://www.360docs.net/doc/0d14768576.html,两个站点。在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 https://www.360docs.net/doc/0d14768576.html,

# Other directives here

DocumentRoot /www/ghq2

ServerName https://www.360docs.net/doc/0d14768576.html,

# Other directives here

因为*(星号)匹配所有的地址,所以主服务器不接收任何请求。因为https://www.360docs.net/doc/0d14768576.html, 首先出现在配置文件中,所以它拥有最高优先级,可以认为是默认或首要服务器。这意味着如果一个接受的请求不能与某个ServerName指令相匹配,它将会由第一个VirtualHost所伺服。

当我们的IP地址无法确定的时候,使用*是很方便的--比如说,ISP给我们配置的是动态IP地址(如ADSL拨号上网),而我们有使用了某种动态域名解析系统时。因为*匹配任何IP 地址,所以在这样的情况下,不论IP地址如何变化,我们都不需要另外进行配置。上述配置就是我们在绝大多数情况下使用基于域名的虚拟主机时将要用到的。

关于DNS和Apache

本文档的涵义一言以蔽之就是:不要让Apache在解析配置文件的时候用到DNS。如果Apache在解析配置文件时用到了DNS,您的服务器就会发生可靠性的问题(也可能根本无法启动),或者遭致拒绝(偷窃)服务攻击(包括用户可以从其他用户那里偷窃点击)。

一个简单示例

拒绝服务

"main server"地址

避免这些问题的小技巧

附录:进一步的提示

一个简单示例

ServerAdmin webgirl@abc.dom

DocumentRoot /www/abc

为了让Apache功能正常,一个虚拟主机绝对需要以下两部分的信息:ServerName和与服务器对应的至少一个IP地址。这个示例没有包括IP地址,于是Apache必须用DNS来查询www.abc.dom的地址。如果在某些不可预料的情况下,当您的服务器解析配置文件时没有得到DNS的支持,那么这个虚拟主机将不会被配置。它将不会对任何请求作出反应。(在Apache的1.2版本之前,服务器甚至无法启动)。

假设www.abc.dom的IP地址是10.0.0.1。那么看看以下这个配置片断:

ServerAdmin webgirl@abc.dom

DocumentRoot /www/abc

现在Apache需要DNS对这个虚拟主机进行反向域名解析来确定ServerName。如果反向解析失败,那么这将导致这个虚拟主机部分功能丧失。(在Apache的1.2版本之前,服务器将不能启动)。如果虚拟主机是基于域名的,它将完全不能使用,但如果它是基于IP的,那么它将很有可能工作。然而,如果Apache不得不为一个已经包含了服务器域名的服务器产生一个完整的URL,那么它将可能产生一个无效的URL。

以下是一个可以避免上述两个问题的配置片断.

ServerName www.abc.dom

ServerAdmin webgirl@abc.dom

DocumentRoot /www/abc

拒绝服务

拒绝服务主要由(至少)两种形式导致。如果您在运行Apache 1.2以前的版本,在上述两种情况下,如果您的任何一个虚拟主机的DNS解析失败,您都会无法启动服务。在一些情况下,DNS解析甚至不在您的控制范围之内。比如说,如果abc.dom是您的一个客户,而且他们自己控制着DNS。那么仅仅是因为他们删除了www.abc.dom这个记录,都会导致您的服务器(1.2之前的版本)无法启动。

另外一种形式就更隐蔽了。比如说下面这个配置片断:

ServerAdmin webgirl@abc.dom

DocumentRoot /www/abc

ServerAdmin webguy@def.dom

DocumentRoot /www/def

假设您已经为www.abc.dom设定了10.0.0.1,而为www.def.dom设定了10.0.0.2。更进一步,假设https://www.360docs.net/doc/0d14768576.html,自己控制DNS。在这种配置下,您已经把https://www.360docs.net/doc/0d14768576.html,放到了一个可以将所有指向https://www.360docs.net/doc/0d14768576.html, 的所有流量据为己有的情况之下。为了达到这样的目的,他们只需要把www.def.dom的地址解析设置成10.0.0.1就可以了。因为他们控制着自己的DNS服务,所以您无法阻止他们把https://www.360docs.net/doc/0d14768576.html,这个记录指向任何一个IP地址。

然后,所有向10.0.0.1发出的请求(包括用户所有类似http: //www.abc.dom/任何字符的URL) 都将会为https://www.360docs.net/doc/0d14768576.html,这个虚拟主机所接收。为了更好的理解着一切是怎样发生的,您需要一个关于Apache是怎样将进入的请求分配给它的虚拟主机的深入说明。您可以在这里发现一个完整的文档。

"main server"地址

在Apache 1.1 中,基于域名的虚拟主机支持需要Apache知道运行着httpd的主机的IP地址。一般来说可以用全局变量ServerName(如果存在) 或者调用C的方法gethostname(与在命令行模式下键入hostname得到的返回值一样)。接着它就会利用DNS来查找这个地址。目前还没有办法避免这样的查找。

如果您担心这样的查找会因为您的DNS服务器没有启动而遭到失败的结果,您就可以在/etc/hosts中插入一条记录来确定主机名(此文件中应该已经存在这条记录了,否则您的机器无法正常启动)。然后,您要确认您的机器已经配置为当DNS解析失败的情况下,它将会使用/etc/hosts根据所使用的操作系统不同,您可能需要在/etc/resolv.conf或/etc/nsswitch.conf 两个文件中选择一个进行编辑。

如果您的服务器不必因为其他理由而使用DNS,您也许不必在把HOSTRESORDER环境变量设置为"local"的情况下运行Apache。这都取决于您所使用的操作系统和解析库。如果您没有使用mod_env来控制环境变量,它还将影响到CGI。强烈建议您参考一下您所使用的操作系统附带的man帮助或FAQ。

避免这些问题的小技巧

在VirtualHost中使用IP地址

在Listen中使用IP地址

确保所有的虚拟主机拥有显式的ServerName定义。

创建一个不包含任何服务页面的服务器

附录:进一步的提示

涉及到DNS的情况都很让人不舒服。在Apache 1.2 中,我们努力想让服务器在DNS解析失败的情况下至少保持能够启动,但可能我们还是没能做到最好。在当今重编号成了必须的Internet上面,在配置文件中显式的写明IP地址已经成为不合时宜的行为了。

上述盗窃攻击的解决办法是,在一个正向的DNS查询结果后部署一个逆向DNS解析并将两个域名进行比较。如果不同,就禁用相应的虚拟主机。这个方法需要一个正确配置了的逆向域名解析服务器(因为FTP服务器和TCP封装进行的“双重逆向”DNS处理的普遍应用,这已为大部分管理员所熟知了)。

在某些情况下,如果没有使用IP地址而DNS解析又失败了,那么正常启动一个基于域名的虚拟主机看来是不可能的。一些诸如禁用部分配置文件这样的权宜之计会带来比根本不能

启动更遭的不可预测的结果。

随着HTTP/1.1的部署以及浏览器和代理服务器开始支持Host头,我们完全避免使用基于IP 的虚拟主机也逐渐成为可能。这种状况下,web服务器也不必在配置时进行DNS的查询。但在1997年3月,这些特性的采用还没有广泛到可以在重要的web服务器应用的地步。https://www.360docs.net/doc/0d14768576.html,/download/doc/apache/ApacheManual/dns-caveats.html

https://www.360docs.net/doc/0d14768576.html,/download/doc/apache/ApacheManual/mod/core.html

和用于封装一组仅施用于特定虚拟主机的指令。任何在虚拟主机配置中可以使用的指令也同样可以在这里使用。当服务器接受了一个特定虚拟主机的文档请求时,它会使用封装在配置段中的指令。地址可以是

虚拟主机的IP地址;

虚拟主机IP地址对应的完整域名;

字符*,仅与NameVirtualHost *配合使用以匹配所有的IP地址;或是

字符串_default_,与基于IP的虚拟主机联用以捕获所有没有匹配的IP地址。

示例

ServerAdmin webmaster@https://www.360docs.net/doc/0d14768576.html,

DocumentRoot /www/docs/https://www.360docs.net/doc/0d14768576.html,

ServerName https://www.360docs.net/doc/0d14768576.html,

ErrorLog logs/https://www.360docs.net/doc/0d14768576.html,-error_log

TransferLog logs/https://www.360docs.net/doc/0d14768576.html,-access_log

IPv6的地址必须放入方括号中指定,否则作为可选项的端口号将无法确定。一个IPv6的示例如下:

ServerAdmin webmaster@https://www.360docs.net/doc/0d14768576.html,

DocumentRoot /www/docs/https://www.360docs.net/doc/0d14768576.html,

ServerName https://www.360docs.net/doc/0d14768576.html,

ErrorLog logs/https://www.360docs.net/doc/0d14768576.html,-error_log

TransferLog logs/https://www.360docs.net/doc/0d14768576.html,-access_log

每个虚拟主机必须对应不同的IP地址、端口号或是不同的主机名。在第一种情况下,服务器所在物理机器必须配置为可以为多个地址接受IP包。(在机器没有多个网络硬件界面的情况下,如果您的操作系统支持,您可以使用ifconfig alias命令来达到这个目的。)。

当使用基于IP的虚拟主机时,特殊的名称_default_可以在没有匹配上其它列出的虚拟主机的情况下作为匹配任何IP地址的虚拟主机。在没有进行_default_虚拟主机的设定时,在没有IP与请求匹配的情况下,将使用“主服务器”(包括所有在虚拟主机配置段之外的配置)的配置。(但请注意:任何匹配NameVirtualHost指令的IP地址既不会使用"main"服务器配置,也不会使用_default_虚拟主机的配置。参阅基于域名的虚拟主机文档获得更多详情。)您可以指定一个:端口来改变匹配的端口。如果没有指定,它将沿用主服务器中离它最近的那个Listen语句指定的值。您也可以指定:*来匹配那个地址上的所有端口。(当您使用_default_时,这是推荐采用的方法。)

安全提示:参阅安全提示文档获得为什么当您存储

[url=javascript:;]日志[/url]

文件的目录对于启动服务器以外的用户来说是可写的会危及服务器安全的详细资料。

注意:的使用不会影响到Apache侦听的地址。您也许需要使用Listen来确保Apache侦听着正确的地址。

本文有经典论坛剑气凌人收集整理

为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法:

方法一:

IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址

c:\Inetpub\Adminscrīpts

cscrīpt adsutil.vbs set w3svc/disablesocketpooling true

该命令反馈如下disablesocketpooling : (BOOLEAN) True

重启IIS

Inetpub\Adminscrīpts>cscrīpt adsutil.vbs set w3svc/disablesocketpooling true

由于DisableSocketPooling 在IIS 6.0 元

[url=javascript:;]数据库[/url]

架构(MBSchema.xml) 中被定义为有效属性,所以,您仍然可以使用Adsutil.vbs 设置该属性,但这种设置不起作用。IIS 6.0 中的功能是新增的核心级别驱动程序HTTP.sys 的一部分。要配置HTTP.sys,您必须使用Httpcfg.exe

方法二:

IIS6,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址

到2003的CD下的support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法自己看帮助

命令行

绑定到某IP:httpcfg set iplisten -i 192.168.0.1

即命令使用IIS的只监听指定的IP及端口

查看绑定:httpcfg query iplisten

删除绑定:httpcfg delete iplisten -i 192.168.0.1

命令行

net stop Apache2

net stop iisadmin /y

net START Apache2

net START w3svc

保证iis下的ip设置为全局默认,Apache中httpconf设置listen 192.168.0.2:80,就应该可以两个服务同时运行,相互不冲突了。

IIS的访问地址为http://192.168.0.1,Apache访问地址为http://192.168.0.2

方法三:

网上常用的单IP共用80端口方法,不过不推荐,只是使用Apache的代理,速度有影响将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。

在httpd.conf里面,取消下面四行的注释:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

然后建立一个虚拟主机,将该域名的所有访问转向81端口。

ServerName https://www.360docs.net/doc/0d14768576.html,

ProxyPass /

localhost

ProxyPassReverse /

localhost

这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了

类推,使用第二种方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安装PHP4,把

[url=javascript:;]php[/url]

.ini复制到\windows目录即可,这个就不用说了吧,Apache2中,只要把PHP5的php.ini放在PHP5安装目录里面就行了

配置Apache以支持PHP5:

LoadModule php5_module "D:/PHPServer/PHP5/php5apache2.dll"

AddType application/x-httpd-php .php

DirectoryIndex index.html index.php

PHPIniDir "D:/PHPServer/PHP5"

其中最重要的一条就是PHPIniDir,用来指明php.ini文件所在位置,即PHP5的安装目录,注意所有目录的应该改为D: /PHPServer/PHP5这种格式,而非D:\PHPServer\PHP5,IIS的访问地址为http://192.168.0.1,Apache访问地址为http://192.168.0.2

Apache配置详解(最好的APACHE配置教程)

Apache配置详解(最好的APACHE配置教程) Apache的配置 Apache的配置由文件配置,因此下面的配置指令都是在文件中修改。 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 PidFile log #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。 Listen 80 #服务器监听的端口号。 ServerName #主站点名称(网站的主机名)。 ServerAdmin #管理员的邮件地址。 DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。 以下是对主站点的目录进行访问控制: Options FollowSymLinks AllowOverride None Order allow,deny Allow from all 在上面这段目录属性配置中,主要有下面的选项: Options:配置在特定目录使用哪些特性,常用的值和基本含义如下: ExecCGI: 在该目录下允许执行CGI脚本。 FollowSymLinks: 在该目录下允许文件系统使用符号连接。 Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如,则返回该目录下的文件列表给用户。

SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。 其它可用值和含义请参阅: AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定): None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。 All: 在.htaccess文件中可以使用所有的指令。 其他的可用值及含义(如:Options FileInfo AuthConfig Limit等),请参看: Order:控制在访问时Allow和Deny两个访问规则哪个优先: Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 。 Deny:拒绝访问的主机列表。 更详细的用法可参看: DirectoryIndex #主页文件的设置(本例将主页文件设置为:,和) (2) 服务器的优化 (MPM: Multi-Processing Modules) apache2主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式: prefork:如果httpd -l列出,则需要对下面的段进行配置: StartServers 5 #启动apache时启动的httpd进程个数。 MinSpareServers 5 #服务器保持的最小空闲进程数。 MaxSpareServers 10 #服务器保持的最大空闲进程数。 MaxClients 150 #最大并发连接数。 MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐

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下面的子项目,Tomcat 与Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat 服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。 在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。 关于Apache 和Tomcat 的安装,这里不再说明。 一、Apache2.2配置多个虚拟主机 1、在httpd.conf文件中,找到下面这一行,把前面的#号去掉,启用http-vhosts.conf 配置文件: Include conf/extra/httpd-vhosts.conf 2、找到conf/extra/httpd-vhosts.conf 配置文件,做如下配置: ServerAdmin webmaster@https://www.360docs.net/doc/0d14768576.html, DocumentRoot "F:/develop/www/host11" ServerName https://www.360docs.net/doc/0d14768576.html, ServerAlias *https://www.360docs.net/doc/0d14768576.html, JkMount /* controller #controller该处理器,稍后在conf\workers.properties配置文件中配置,

SVN服务端安装和配置

所有资料来源于 https://www.360docs.net/doc/0d14768576.html, 我用Subversion - SVN|TortoiseSVN下载安装配置使用技术交流社区 SVN 服务端安装和配置 1.Windows环境下基于 Apache 的SVN 服务器安装及配置 1.1安装 1.1.1安装Apache (1)下载Apache 地址https://www.360docs.net/doc/0d14768576.html,/download.cgi 注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。当前建议下载Apache 2.0.59 (2) 安装 下载完成后运行apache_2.0.59-win32-x86-no_ssl.msi,根据提示进行操作。遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址。 注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 81,然后重新启动-这样就不会那个问题了。 (3)检查 安装完成后浏览http://localhost/若成功,可看到apache页面。 1.1.2安装Subversion (1)下载 Subversion 地址:https://www.360docs.net/doc/0d14768576.html,/servlets/ProjectDocumentList?folderID=91(2)安装 运行svn-1.4.3-setup.exe 安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。 (3)后续 步骤1 从C:\Program Files\Subversion\bin 中将 mod_authz_svn.so mod_dav_svn.so复制到 C:\Program Files\Apache Group\Apache2\modules下 intl3_svn.dll libdb*.dll C:\Program Files\Apache Group\Apache2\bin下 步骤2 找到C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件去掉如下几行的注释(删除 '#'标记):

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 AllowOverride None Order allow,deny Allow from all Satisfy all DirectoryIndex index.html index.php CustomLog "logs\njumasoft-access.log" common ErrorLog "logs\njumasoft-error.log" ServerName mysqld DocumentRoot D:/Apache2.2/htdocs Options FollowSymLinks AllowOverride None Order allow,deny Allow from all

Apache 安装图解

Apache安装图解

一、安装Apache,配置成功一个普通网站服务器 运行下载好的“apache_2.0.55-win32-x86”,出现如下界面: 出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续

确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续

将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续 设置系统信息,在Network Domain下填入您的域名(比如:https://www.360docs.net/doc/0d14768576.html,),在Server Name下填入您的服务器名称(比如:https://www.360docs.net/doc/0d14768576.html,,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:yinpeng@https://www.360docs.net/doc/0d14768576.html,),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。一般选择如图所示。按“Next”继续。]

选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。按“Next”继续 出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server

2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动指定安装目录。 我这里选择安装在“D:\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。

(2020)(环境管理)WindowsApacheMysqlPHP环境的安装与配置图文教程经典整合版

(环境管理)WindowsApacheMysql PHP环境的安装与配置图文教程经典整合版

Windows+Apache2.2+Mysql5+ PHP5环境的配置整合版 所需文件: mysql-essential-5.1.48-win32.msi httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.MSI php-5.2.6-Win32.zip PECL5.2.6 Win32 binaries.ZIP 配置要求: 1、将Apache+PHP+Mysql安装在E:\。 2、将网页文档文件改为:E:\Web。 Apache的安装: 1、运行httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.MSI,界面如下:

单击“I accept the terms in the license agreement”之后再单击“Next”。

服务器信息可以按照默认配置,如果服务器的80端口没被其他服务器程序占据。可选“for All Users,on Port 80, as a Service—Recommended.”如果仅为当前用户使用,使用8080端口,手动启动,选择“only for the Current User, on Port 8080, when started Manually.”。单击“Next”。

“Typical”为默认安装,“Custom”为用户自定义安装。选择“Custom”,单击“Next”。 单击“Build Headers and libraries”,选择“This feature will be installed on local dirive.”

apache和IIS共存

apache和IIS共存 apache和IIS共用80端口为了PHP与ASP各自的执行效率,要在服务器上安装iis与Apache,但是无法同时使用80端口,否则其中必定有一个启动不了。让它们共存的并且访问网站不需要加端口号,解决方法有如下: 方法一: IIS5,多IP下共存,IIS为219.153.70.251,apache为219.153.70.252 c:\Inetpub\Adminscripts cscript adsutil.vbs set w3svc/disablesocketpooling true 该命令反馈如下disablesocketpooling : (BOOLEAN) True 重启IIS Inetpub\AdminScripts>cscript adsutil.vbs set w3svc/disablesocketpooling true 由于 DisableSocketPooling 在 IIS 6.0 元数据库架构 (MBSchema.xml) 中被定义为有效属性,所以,仍然可以使用 Adsutil.vbs 设置该属性,但这种设置不起作用。IIS 6.0 中的功能是新增的核心级别驱动程序 HTTP.sys 的一部分。要配置 HTTP.sys,必须使用 Httpcfg.exe 方法二: IIS6,多IP下共存,IIS为219.153.70.251,apache为219.153.70.252 到2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法看帮助 命令行 绑定到某IP: httpcfg set iplisten -i 219.153.70.251 即命令使用IIS的只监听指定的IP及端口 查看绑定: httpcfg query iplisten 删除绑定: httpcfg delete iplisten -i 219.153.70.251 命令行 net stop Apache2 net stop iisadmin /y net START Apache2 net START w3svc 保证iis下的ip设置为全局默认,Apache中httpconf设置listen 219.153.70.252:80,就应该可以两个服务同时运行,相互不冲突了。 IIS的访问地址为http://219.153.70.251,Apache访问地址为http://219.153.70.252

配置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地址) 使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP 地址后,可以采用以下两种方式之一来设置Apache。 1、为每个虚拟主机运行一份Apache 采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP地址上接收服务请求。 优点:各个虚拟主机之间互不干扰,安全性高。 缺点:占用系统资源较多。 2、多个虚拟主机共享同一份Apache 采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可: DocumentRoot /www/ghq1 …

apache服务配置

Apache 安装后启动然后配置即可.记得开启80 端口. iptables –I INPUT –p tcp –dport 80 –j ACCEPT 开启tcp 80 端口 apache 的配置文件: httpd.conf 路径: /etc/httpd/conf/httpd.conf DocumentRoot “/var/www/html”设置主目录的路径 DirectoryIndex index.html index.html.var 设置默认主文档,中间用空格格开 Listen 80 Listen 192.168.1.1:80 设置apache监听的IP地址和端口号,可添加多个 ServerRoot “/etc/httpd”设置相对根目录的路径(存放配置文件和日志文件) ErrorLog Logs/error_log 设置错误日志存放路径 CustomLog Logs/access_log combined (日志格式) 设置访问日志存放路径 如果日志文件存放路径不是以”/”开头,则意味着该路径相对于ServerRoot 的相对路径. ServerAdmin 邮箱地址{设置管理员的E-mail地址 ServerName FQDN名或IP地址{设置服务器主机名 由于Apache默认字符集为西欧(UTF-8),所以客户端访问中文网页时会出现乱码. 将语句“AddDefaultCharset UTF-8”改为“AddDefaultCharset GB2312”方可解决,不过要重新启动Apache服务. 修改完默认字符集后,客户端如需访问,要先清空浏览器的缓存.

创建虚拟目录,添加Alias语句即可 Alias /ftp “/var/ftp”Alias 虚拟目录名物理路径 Options Indexes 定义目录特性 AllowOverride None 一般这样写就行 Order allow,deny 设置访问权限 Allow from all 允许所有用户访问 要实现虚拟目录用户认证,首先要建立保存用户名和口令的文件 htpasswd -c /etc/httpd/mysecretpwd (文件名) text (用户) -c 选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容.所以在添加第二个用户到口令文件时,就不需要使用-c 选项了. Alias /ftp “/var/ftp” AuthType Basic 设定认证类型,Basic最常用AuthName “This is a private directory. Please Login:”辛苦点,全背上吧. AuthUserFile /etc/httpd/mysecretpwd 定义口令文件路径Require user text(用户) 定义允许哪些用户可以访问

Linux下Apache服务器的安装和配置

【实验8】Apache服务器的安装和配置 一、实验目的: 1.掌握Apache Web服务器的安装和配置。 2.使用虚拟主机在同一台服务器上架设多个网站。 二、【实验环境】 1.虚拟机软件VM Ware 6.0,Redhat Enterprise Linux虚拟机或光盘镜像文 件。 2.2台以上机器组成的局域网。 三、【实验原理】 (一)Apache服务简介 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 (二)虚拟主机 所谓虚拟主机,也叫“网站空间”就是把一台运行在互联网上的服务器划分成 多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务 器(支持WWW、FTP、E-mail等)功能。一台服务器上的不同虚拟主机是各自 独立的,并由用户自行管理。 虚拟主机技术是互联网服务器采用的节省服务器硬体成本的技术,虚拟主机 技术主要应用于HTTP服务,将一台服务器的某项或者全部服务内容逻辑划分 为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬体资源。如果 划分是系统级别的,则称为虚拟服务器。

(三)Linux中虚拟主机的分类 1、基于IP地址的虚拟主机 如果某公司有多个独立的IP地址可用,那么可以用不同的IP地址来配置虚拟主机。 2、基于端口的虚拟主机 如果只有一个IP地址,但是要架设多个站点,可以使用端口来区分,每个端口对应一个站点。这样配置的话,用户在访问的时候必须在 URL中指明端口号才能访问相应的网站。 3、基于名称的虚拟主机 使用基于IP地址或者端口的虚拟主机,能够配置的站点数目有限,而使用基于名称的虚拟主机,可以配置任意数目的虚拟主机,而不需要 额外的IP地址,也不需要修改端口号。 四、实验步骤 本实验请勿使用【系统】→【管理】→【服务器设置】中的【HTTPD】工具来配置,否则后果自负! (一)Apache服务器的启动 1、测试是否已安装Apache服务器: [root@localhost ~]#rpm –qa httpd 2、启动Apache服务器: [root@localhost ~]#service httpd start (二)基于端口的虚拟主机的配置 1、在/etc/httpd目录中,建立一个名为vhostconf.d的子目录,用来存放虚拟 主机的配置文件。 2、在/var/www目录中,建立一个名为websites的子目录,用于存放网站源 文件;在website目录下再建立ipvhost1和ipvhost2文件夹,用于区分各 个站点。

windows Apache配置文件

. Apache 主要配置Network Domain、Server Name、Email地址(我依次填的是localhost、localhost、邮箱随意)以及Apache服务的占用端口,默认为80端口,你可以根据需要配置在其他端口,Apache的安装目录你可以使用默认目录或根据需要自行选择安装目录(我安装到D:\Apache)。 在完成apache服务的安装后,在游览器中输入http://localhost/,出现It’s work!字样,说明Apache服务安装成功了。 2. PHP 只要解压php-5.3.4-Win32-VC6-x86.zip并重名为文件夹为php到某个盘即可完成PHP 安装(我是将其解压复制到D盘目录下D:\php) 3. MySQL 点击Mysql安装程序自动安装,在此期间你可以根据需要选择Mysql数据库的安装目录(我安装到D:\MySQL),MySQL 安装完后会启动向导,你可以先取消,下一部的配置里有说。 三、配置 1. Apache(Apache配置文件httpd.conf在Apache安装目录下的conf文件夹里面) (1)默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置(我改到D:\localhost\htdocs),即用文本编辑软件打开httpd.conf 将 DocumentRoot "D:/Apache/htdocs" 修改为 DocumentRoot "D:/localhost/htdocs" 再把 修改为 (2)修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行 找到 DirectoryIndex index.html 修改为 DirectoryIndex index.php index.html (3)使Apache支持PHP 找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 在其下面增加如下内容(注意php的安装路径) LoadModule php5_module "d:/php/php5apache2_2.dll" PHPIniDir "d:/php" AddType application/x-httpd-php .php .html .htm 说明:我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.17,所以我们当然需要使用php5apache2_2.dll,接着指定PHP的安装目录以及执行的程序扩展名。 2. PHP(配置文件php.ini在PHP安装目录下) (1)把php.ini-development改名为php.ini,然后用文本编辑器修改php.ini,接下来的步骤都是在php.ini进行的。

Apache服务器的安装与配置

Apache服务器的安装与配置 一、安装Apache 双击可执行文件apache_1.3.33-win32-x86-no_src.exe,将Apache服务器软件安装至C:\Apache目录下。 二、设置C:\apache\conf\httpd.donf文件 修改Apache的核心配置文件c:\apache\conf\httpd.conf(说明一点:“#”为Apache的注释符号)。修改方法如下: 1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它。 2、寻找到ServerAdmin。这里输入你的E-Mail地址。 (以上两条在安装时应该已经配置好了,所以不必改动,这里介绍一下,主要是为了日后的修改) 3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!A 大写,两个l小写。下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。 AllowOverride All Options All Order allow,deny Allow from all 4、寻找到DocumentRoot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。此外注意,路径的分隔符在Apache Server里写成“/”。(将DocumentRoot "C:/apache/htdocs"改为DocumentRoot "C:/try") 5、寻找到DirectoryIndex。这就是你站点第一个显示的主页,在index.html的后面加入index.htm index.php index.php3 index.cgi index.pl。注意,每种类型之间都要留一空格!这里添加好了,以后就不用再麻烦了。 6、port(端口号),如果没安装IIS的话,就保持80不要变,否则,就要改一下(因为IIS的WEB服务占据了80),可以改成81等等。 三、Apache的手动启动和停止 Net start apache启动apache服务,Net stop apache停止apache服务。

Apache与Tomcat有什么关系和区别

经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下: 一 apache支持静态页,tomcat支持动态的,比如servlet等, 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由tomcat来处理的。 apache可以支持php\cgi\perl,但是要使用java的话,你需要tomcat在apache 后台支撑,将java请求由apache转发给tomcat处理。 apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet(jsp 也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache 运行。 这两个有以下几点可以比较的: 1、两者都是apache组织开发的 2、两者都有HTTP服务的功能 3、两者都是免费的 不同点: Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等) Tomcat是Apache组织在符合J2EE的JSP、Servlet标准下开发的一个JSP服务器 二: APACHE是一个web服务器环境程序启用他可以作为web服务器使用不过只支持静态网页如(asp,php,cgi,jsp)等动态网页的就不行 如果要在APACHE环境下运行jsp 的话就需要一个解释器来执行jsp网页而这个jsp解释器就是TOMCAT, 为什么还要JDK呢?因为jsp需要连接数据库的话

Apache如何修改配置文件

Apache配置参考 1.什么是Apache ? 1.什么是Apache ? Apache,是一种开放源码的HTTP服务器,可以在大多数操作系统中运行,由于其多平台和安全性所以被广泛使用,是目前最流行的Web服务器软件之一。Apache 起初由Illinois 大学Urbana-Champaign 的国家高级计算程序中心开发,开始Apache只是作为Netscape网页服务器之外的选择。渐渐的,它开始在功能和速度上超越其它基于Unix的HTTP服务器。从1996年4月以来,Apache一直是Internet上最流行的HTTP服务器: 1999年5月它在57% 的网页服务器上运行;而到了2005年7月这个比例上升到了69%。Apache名称的由来是为了纪念美洲印第安人土著中的一支,因为这支土著拥有最高超的作战策略和无穷的耐性。 Apache HTTP Server2.什么是? Apache HTTP Server(也被称为Apache httpd)是Apache软件基金会创建的一个健壮的、工业级的、功能强大的、开放源代码的HTTP(Web)服务器。 二、httpd.conf中常用参数介绍 1.连接类参数 l TimeOut 服务器在断定请求失败前等待的时间,即接收和发送数据的超时时间。 【说明】 TimeOut参数用于设置Apache在等待以下三种事件的时间: u 接受一个GET请求耗费的总时间。 u POST或PUT请求时,接受两个TCP包之间的时间。 u 回应时TCP包传输中两个ACK包之间的时间。 还可以理解成Apache允许每次通过HTTP协议传输数据的最大时间。 l KeppAlive 启用HTTP持续作用。

三大WEB服务器对比(apache_,lighttpd,nginx)

三大WEB服务器对比分析(apache ,lighttpd,nginx)一.软件介绍(apache lighttpd nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。 Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。 Fastcgi的优点在于: ·从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑. ·从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮, ·从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1) ·从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python...) 2.apache apache是世界排名第一的web服务器, 根据netcraft(https://www.360docs.net/doc/0d14768576.html,)所作的调查,世界上百分之五十以上的web服务器在使用apache. 1995年4月, 最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构, 由它来决定apache web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中. apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的http/1.1协议 3) 简单而且强有力的基于文件的配置(httpd.conf). 4) 支持通用网关接口(cgi) 5) 支持虚拟主机.

WAMP环境搭建与配置(含虚拟主机配置)

WAMP环境搭建与配置 各位童鞋大家好,今天我们来分享一下WAMP环境搭建和配置,本教程包括虚拟主机的配置。顾名思义"WAMP"指的是"Windows + Apache + MySQL + PHP",这四款软件的组合。在大家平时"开发"时,用的最多的应该就是这个组合了。 我们在安装环境之前,应该先下载相应的软件,今天的这个文档,提供了两种可选的压缩包,分别是"安装文档"和"安装文档 + 软件程序"这两种。 问:"为什么要有这两种压缩包呢?他们各有什么好处呢?" 答:"首先,很多童鞋所处的网络环境很差,网速很慢,如果一次性提供所有的软件,他就很容易一次性下载完成所有软件,并很快将经历集中到软件配置上了。其次,有些童鞋的网络环境较好,他们希望自己去下载软件,那么如果仅仅提供文档,可以帮他们省下很多时间。最后,因为搞软件的大家都清楚,软件的更新速度太快,我现在提供的软件,可能几天后就落后了,所以希望使用最新版软件的童鞋们,我建议你们下载单个文档,软件还是自己去下载比较好。" 软件下载分为两种情况,主要是根据操作系统的类型来划分的,分为32位和64位两种。确定操作系统的方法见下图:

如果你是Windows XP系统,你可以直接看32位的安装方法,但是我建议你升级Windows 7,毕竟Windows XP的很多机制已经不太符合今天的使用情况了。 确定了操作系统的类型后,我们需要确定软件的下载版本,这里我们建议Apache 使用2.2.X,这个版本比较稳定。MySQL使用5.5.X,这个版本加入了较多的新特性,较为稳定。PHP使用5.4.X,这个版本比5.3.X大幅提高了运行速度,且语法特性更加规范,PHP建议大家下载编译好的zip压缩版本。 下面说说软件的下载地址,首先是32位软件的下载地址: Apache:https://www.360docs.net/doc/0d14768576.html,/ MySQL:https://www.360docs.net/doc/0d14768576.html,/downloads/mysql/ PHP:https://www.360docs.net/doc/0d14768576.html,/downloads.php 接下来是64位软件下载地址,由于Apache和PHP官方未提供编译好的64位软件,我建议童鞋们可以去我推荐的一个国外的博客去下载,我一直都在用,还不错: Apache和PHP:https://www.360docs.net/doc/0d14768576.html,/ MySQL:https://www.360docs.net/doc/0d14768576.html,/downloads/mysql/ 下面我们开始安装软件,软件的安装顺序是Apache,PHP,MySQL。假设我们主机有两个以上的磁盘分区,我们把所有的软件和脚本文件都放在第二个分区上,假设是"D"盘,为了管理方便,我们把所有软件放在一个目录下即"D:\wamp\"目录,Apache的安装目录是"D:\wamp\apache\",MySQL的安装目录是"D:\wamp\mysql\",PHP的安装目录是"D:\wamp\php\"。 安装软件前,我们先建立这三个目录,见下图:

Apache服务器配置及安全应用指南

Apache服务器配置及安全应用指南 技术创新变革未来

Apache服务安全加固 一.账号设置 以专门的用户帐号和组运行Apache。 根据需要为Apache 创建用户、组 参考配置操作如果没有设置用户和组,则新建用户,并在Apache 配置文件中指定 (1) 创建apache 组:groupadd apache (2) 创建apache 用户并加入apache 组:useradd apache –g apache (3) 将下面两行加入Apache 配置文件httpd.conf中 检查httpd.conf配置文件。检查是否使用非专用账户(如root)运行apache 默认一般符合要求,Linux下默认apache或者nobody用户,Unix默认为daemon用户

Apache服务安全加固 授权设置 严格控制Apache主目录的访问权限,非超级用户不能修改该目录中的内容 Apache 的主目录对应于Apache Server配置文件httpd.conf的Server Root控制项中应为: 判定条件 非超级用户不能修改该目录中的内容 检测操作 尝试修改,看是否能修改 一般为/etc/httpd目录,默认情况下属主为root:root,其它用户不能修改文件,默认一般符合要求 严格设置配置文件和日志文件的权限,防止未授权访问。 chmod600 /etc/httpd/conf/httpd.conf”设置配置文件为属主可读写,其他用户无权限。 使用命令”chmod644 /var/log/httpd/*.log”设置日志文件为属主可读写,其他用户只读权限。 /etc/httpd/conf/httpd.conf默认权限是644,可根据需要修改权限为600。 /var/log/httpd/*.log默认权限为644,默认一般符合要求。

相关文档
最新文档