当前位置:文档之家› Apache两种工作模式区别及配置切换

Apache两种工作模式区别及配置切换

Apache两种工作模式区别及配置切换
Apache两种工作模式区别及配置切换

Apache两种工作模式区别及配置切换

https://www.doczj.com/doc/e818248456.html,发布者:lensezhai 来源:互联网发布日期:2014年07月12日文章评论发表文章

1、RedHat Linux下查看apache版本号

在Apache安装目录bin下,使用以下命令查看即可。

使用命令:./httpd -v

示例:

2、查看Apache当前工作模式

Apache有prefork和worker工作模式

如果apache已经安装,我们可以用"httpd -l"命令查看当前模式。若找到prefork.c 则表示当前工作在prefork模式,同理出现worker.c 则工作在worker模式。

如果apache还未安装,我们在编译的时候可以加入--with-pem=(prefork|worker) 选项决定启用什么模式。

使用命令:./apachectl –l

示例:

从以上结果可知,当时httpd工作在prefork模式下。

在configure时,可以通过指定参数,将工作模式设置为worker模式或prefork模式。

使用命令:./configure –with-mpm=worker

示例:设置为worker模式

Apache服务的两种工作模式详解:

prefork的工作原理及配置

如果不用“--with-mpm”显式指定某种MPM,prefork就是Unix平台上缺省的MPM。它所采用的预派生子进程方式也是Apache 1.3中采用的模式。prefork本身并没有使用到线程,2.0版使用它是为了与1.3版保持兼容性;另一方面,prefork用单独的子进程来处理不同的请求,进程之间是彼此独立的,这也使其成为最稳定的MPM之一。

若使用prefork,在make编译和make install安装后,使用“httpd -l”来确定当前使用的MPM,应该会看到prefork.c(如果看到worker.c说明使用的是worker MPM,依此类推)。再查看缺省生成的配置文件,里面包含如下配置段:

StartServers 5

MinSpareServers 5

MaxSpareServers 10

MaxClients 150

MaxRequestsPerChild 0

prefork的工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

MaxSpareServers设置了最大的空闲进程数,如果空闲进程数大于这个值,Apache会自动kill掉一些多余进程。这个值不要设得过大,但如果设的值比MinSpareServers小,Apache会自动把其调整为MinSpareServers+1。如果站点负载较大,可考虑同时加大MinSpareServers和MaxSpareServers。

MaxRequestsPerChild设置的是每个子进程可处理的请求数。每个子进程在处理了“MaxRequestsPerChild”个请求后将自动销毁。0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处:

◆可防止意外的内存泄漏;

◆在服务器负载下降的时侯会自动减少子进程数。

因此,可根据服务器的负载来调整这个值。个人认为10000左右比较合适。

MaxClients是这些指令中最为重要的一个,设定的是Apache可以同时处理的请求,是对Apache性能影响最大的参数。其缺省值150是远远不够的,如果请求总数已达到这个值(可通过ps -ef|grep http|wc -l来确认),那么后面的请求就要排队,直到某个已处理请求完毕。这就是系统资源还剩下很多而HTTP访问却很慢的主要原因。系统管理员可以根据硬件配置和负载情况来动态调整这个值。虽然理论上这个值越大,可以处理的请求就越多,但Apache默认的限制不能大于256。如果把这个值设为大于256,那么Apache将无法起动。事实上,256对于负载稍重的站点也是不够的。在Apache 1.3中,这是个硬限制。如果要加大这个值,必须在“configure”前手工修改的源代码树下的

src/include/中查找256,就会发现“#define HARD_SERVER_LIMIT 256”这行。把256改为要增大的值(如4000),然后重新编译Apache即可。在Apache 2.0中新加入了ServerLimit指令,使得无须重编译Apache就可以加大MaxClients。下面是prefork配置段:

StartServers 10

MinSpareServers 10

MaxSpareServers 15

ServerLimit 2000

MaxClients 1000

MaxRequestsPerChild 10000

上述配置中,ServerLimit的最大值是2000,对于大多数站点已经足够。如果一定要再加大这个数值,对位于源代码树下

server/mpm/prefork/prefork.c中以下两行做相应修改即可:

#define DEFAULT_SERVER_LIMIT 256

#define MAX_SERVER_LIMIT 2000

worker的工作原理及配置

相对于prefork,worker是2.0 版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性。这种MPM的工作方式将是Apache 2.0的发展趋势。

在configure -with-mpm=worker后,进行make编译、make install 安装。在缺省生成的中有以下配置段:

StartServers 2

MaxClients 150

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestsPerChild 0

worker的工作原理是,由主控制进程生成“StartServers”个子进程,每个子进程中包含固定的ThreadsPerChild线程数,各个线程独立地处理请求。同样,为了不在请求到来时再生成线程,MinSpareThreads和MaxSpareThreads设置了最少和最多的空闲线程数;而MaxClients设置了所

有子进程中的线程总数。如果现有子进程中的线程总数不能满足负载,控制进程将派生新的子进程。

MinSpareThreads和MaxSpareThreads的最大缺省值分别是75和250。这两个参数对Apache的性能影响并不大,可以按照实际情况相应调节。

ThreadsPerChild是worker MPM中与性能相关最密切的指令。ThreadsPerChild的最大缺省值是64,如果负载较大,64也是不够的。这时要显式使用ThreadLimit指令,它的最大缺省值是20000。上述两个值位于源码树server/mpm/worker/worker.c中的以下两行:

#define DEFAULT_THREAD_LIMIT 64

#define MAX_THREAD_LIMIT 20000

这两行对应着ThreadsPerChild和ThreadLimit的限制数。最好在configure之前就把64改成所希望的值。注意,不要把这两个值设得太高,超过系统的处理能力,从而因Apache不起动使系统很不稳定。

Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild值决定的,应该大于等于MaxClients。如果负载很大,现有的子进程数不能满足时,控制进程会派生新的子进程。默认最大的子进程总数是

16,加大时也需要显式声明ServerLimit(最大值是20000)。这两个值位于源码树server/mpm/worker/worker.c中的以下两行:

#define DEFAULT_SERVER_LIMIT 16

#define MAX_SERVER_LIMIT 20000

需要注意的是,如果显式声明了ServerLimit,那么它乘以ThreadsPerChild 的值必须大于等于MaxClients,而且MaxClients必须是ThreadsPerChild的整数倍,否则Apache将会自动调节到一个相应值(可能是个非期望值)。下面是worker配置段:

StartServers 3

MaxClients 2000

ServerLimit 25

MinSpareThreads 50

MaxSpareThreads 200

ThreadLimit 200

ThreadsPerChild 100

MaxRequestsPerChild 0

通过上面的叙述,可以了解到Apache 2.0中prefork和worker这两个重要MPM的工作原理,并可根据实际情况来配置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多个虚拟主机整合配置 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.doczj.com/doc/e818248456.html, DocumentRoot "F:/develop/www/host11" ServerName https://www.doczj.com/doc/e818248456.html, ServerAlias *https://www.doczj.com/doc/e818248456.html, JkMount /* controller #controller该处理器,稍后在conf\workers.properties配置文件中配置,

所有资料来源于 https://www.doczj.com/doc/e818248456.html, 我用Subversion - SVN|TortoiseSVN下载安装配置使用技术交流社区 SVN 服务端安装和配置 1.Windows环境下基于 Apache 的SVN 服务器安装及配置 1.1安装 1.1.1安装Apache (1)下载Apache 地址https://www.doczj.com/doc/e818248456.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.doczj.com/doc/e818248456.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 虚拟主机的配置方法总结: 虚拟主机 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

在Linux下配置Apache服务器 一、实验目的 完成本次实训,将能够: ●配置基本的Apache服务器 ●配置个人用户Web站点。 ●配置虚拟目录别名功能。 ●配置主机访问控制。 ●配置用户身份验证功能.。 ●配置基于IP地址的虚拟主机. 二、实验环境 1、RedHat Linux4AS. 2、Apache 2.0 三、实验内容 1.配置基本的Apache服务器 2.配置个人用户Web站点。 3.配置虚拟目录别名功能。 4.配置主机访问控制。 5.配置用户身份验证功能.。 6.配置基于IP地址的虚拟主机。 四、实验要求 在Linux操作系统下配置Apache服务器。 五、注意事项 1.在修配置文件下注意区分大小写、空格。 2.在每次重新开机后都必须启动Apachec服务器。 3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会 导致配置无效,最终导致实验失败。 六、实验步骤 1、检测是否安装了Apache软件包: A、首先为服务器网卡添加一个固定的IP地址。 B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该 网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache 已安装并已启动。

另一种方法是使用如下命令查看系统是否已经安装了Apache软件包: [root@rhe14~]# rpm –aq | grep httpd Httpd-suexec-2.0.52-9.ent Httpd-manual-2.0.52-9.ent System-config-httpd-1.3.1-1 Httpd-devel-2.0.52-9.ent 出现以上内容表明了系统已安装Apache软件包。 2、安装Apache软件包 超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。 3、Apache的基本配置 (1)打开终端输入[root@rhe14~]# /etc/rc.d/init.d/httpd start //启动Apache 或者 [root@rhe14~]# apachectl start //启动Apache [root@rhe14~]# apachectl stop //停止Apache服务 [root@rhe14~]# apachectl restart //重启Apache服务 [root@rhe14~]# apachectl configtest //测试Apache服务器配置语法(2)在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。 (3)将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html) (4)重启httpd进程 (5) 在Web浏览器下输入配置的ip地址出现如下图2,那表明基本配置成功了:

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.doczj.com/doc/e818248456.html,),在Server Name下填入您的服务器名称(比如:https://www.doczj.com/doc/e818248456.html,,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:yinpeng@https://www.doczj.com/doc/e818248456.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”继续。

(环境管理)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虚拟主机 通过以下文章:实现:同一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 …

LinuxApacheWeb服务器配置教程 Linux阿帕奇网络服务器配置教程 阿帕奇的主要特点 根据著名的万维网服务器研究公司进行的一项调查,全世界50%以上的万维网服务器使用阿帕奇,排名世界第一。 阿帕奇的出生非常戏剧化。当NCSA万维网服务器项目停止时,那些使用NCSA万维网服务器的人开始用他们的补丁来交换服务器,他们很快意识到有必要建立一个论坛来管理这些补丁。就这样,阿帕奇集团诞生了,后来这个集团在NCSA的基础上建立了阿帕奇。 阿帕奇的主要特点是: 。可以在所有计算机平台上运行; 。支持最新的HTTP 1.1协议; 简单而强大的基于文件的配置; 。支持通用网关接口CGI 。支持虚拟主机; 。支持HTTP认证; 。集成的Perl脚本编程语言; 。集成代理服务器; 。拥有可定制的服务器日志;。支持服务器端包含命令。支持安全套接字层。用户会话过程的跟踪能力;支持FastCGI。支持Java小服务程序。 安装Apache流程

安装Apache 接下来,我们将开始征服阿帕奇的漫长旅程。我们将一步一步地学习使用Apache,从介绍到掌握,通过需求的一步一步的例子。 系统需求 运行Apache不需要太多的计算资源。它运行良好的Linux系统有6-10MB的硬盘空间和8 MB的内存。然而,单独运行Apache可能不是您想要做的。更有可能的是,您希望运行Apache来提供WWW服务,启动CGI流程,并充分利用WWW所能提供的所有惊人功能。在这种情况下,您需要提供额外的磁盘空间和内存空间来反映负载要求。换句话说,它不需要太多的系统资源来启动WWW服务,但是它需要更多的系统资源来为大量的客户提供服务。获取软件 你可以呆在 错误日志命令用于指定错误日志文件名和路径。 命令格式:错误日志[日志文件名] 示例:错误日志/var/ srm.conf Srm.conf是一个资源配置文件,它告诉服务器您想在WWW站点上提供什么资源,在哪里以及如何提供这些资源。 DocumentRoot命令指定主文档的地址。 命令格式:文档根[路径] 示例:文档根目录/主页/ UserDir命令,用于指定个人主页的位置。如果你有一个用户测试,

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(用户) 定义允许哪些用户可以访问

【实验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文件夹,用于区分各 个站点。

. 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_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服务。

1、如何设置请求等待时间 在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。 设置这个TimeOut适用于三种情况: 2、如何接收一个get请求的总时间 接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔 3、如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如: Listen 8000 是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用: Listen 192.170.2.1:80 Listen 192.170.2.5:8000 这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。 当然也可以在httpd.conf里面设置: Port 80 这样来实现类似的效果。 4、如何设置apache的最大空闲进程数 修改httpd.conf,在里面设置: MaxSpareServers n 其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。 同时也可以设置: MinSpareServers n 来限制最少空闲进程数目来加快反应速度。 5、apache如何设置启动时的子服务进程个数 在httpd.conf里面设置: StartServers 5 这样启动apache后就有5个空闲子进程等待接受请求。 也可以参考MinSpareServers和MaxSpareServers设置。 6、如何在apache中设置每个连接的最大请求数 在httpd.conf里面设置: MaxKeepAliveRequests 100 这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。 7、如何在apache中设置session的持续时间 在apache1.2以上的版本中,可以在httpd.conf里面设置: KeepAlive on KeepAliveTimeout 15 这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp

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持续作用。

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.doczj.com/doc/e818248456.html,/ MySQL:https://www.doczj.com/doc/e818248456.html,/downloads/mysql/ PHP:https://www.doczj.com/doc/e818248456.html,/downloads.php 接下来是64位软件下载地址,由于Apache和PHP官方未提供编译好的64位软件,我建议童鞋们可以去我推荐的一个国外的博客去下载,我一直都在用,还不错: Apache和PHP:https://www.doczj.com/doc/e818248456.html,/ MySQL:https://www.doczj.com/doc/e818248456.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 配置文件中指定 (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,默认一般符合要求。

相关主题
文本预览
相关文档 最新文档