Apache安装配置Word格式文档下载.docx
《Apache安装配置Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Apache安装配置Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
maketest
makeinstall
ii.安装apr-util
1../configure--prefix=/usr/local/apr-util/--with-apr=/usr/local/apr/bin/apr-1-config
./configure--prefix=/usr/local/apr-util/--with-apr=/usr/local/apr/bin/apr-1-config
iii.安装pcre
1../configure--prefix=/usr/local/pcre--with-apr=/usr/local/apr/bin/apr-1-config
3.makeinstall
./configure--prefix=/usr/local/pcre--with-apr=/usr/local/apr/bin/apr-1-config
iv.安装httpd
1../configure--prefix=/opt/apache/httpd--with-apr=/opt/apache/apr/bin/apr-1-config--with-apr-util=/opt/apache/apr-util/bin/apu-1-config--with-pcre=/opt/apache/pcre/bin/pcre-config
./configure--prefix=/opt/apache/httpd--with-apr=/opt/apache/apr/bin/apr-1-config--with-apr-util=/opt/apache/apr-util/bin/apu-1-config--with-pcre=/opt/apache/pcre/bin/pcre-config
v.启动httpd
1.启动apachectl-kstart
2.停止apachectl-kstop
3.状态apachectl–kgraceful
4.重启apachectl–krestart
1.2.3修改运行用户
必须修改<
IfModuleunixd_module>
中的所属用户和组。
后面添加虚拟路径的文件夹必须拥有这个用户和组的读写权限,否则会报权限的错。
1.2.4httpd添加虚拟路径
打开conf文件夹,在httpd.conf配置文件中添加一段:
1.Alias/share"
/home/vcs/service/data/version"
2.<
Directory"
>
3.OptionsIndexesMultiViews
4.AllowOverrideNone
5.Orderallow,deny
6.Allowfromall
7.<
/Directory>
Alias/share"
<
OptionsIndexesMultiViews
AllowOverrideNone
Orderallow,deny
Allowfromall
通过ls–l查看此文件夹的权限,看apache运行的用户是否拥有权限。
可以通过chownuserfile–R修改文件夹的拥有者、chgrpgroupfile–R修改文件夹的拥有组。
1.2.5httpd加入系统服务
系统服务里面没有apache或者httpd服务,每次启动都要/usr/local/apache2/bin/apachectlstart。
比较麻烦,下面的操作可以将httpd装入到服务中,同理也可以用到其他的服务操作。
1.将apachectl文件拷贝到/etc/rc.d/init.d中,然后在/etc/rc.d/rc5.d/下加入链接即可。
命令如下:
cpbin/apachectl/etc/init.d/httpd//如果有其他的版本的Apache存在,也可以直接覆盖掉
ln-s/etc/init.d/httpd/etc/rc.d/rc5.d/S85httpd//建立链接(85的意义后面介绍)
此时Apache就可以自动启动了。
2.运行chkconfig--list,发现没有linux服务列表中httpd,通过chkconfig–addhttpd来添加,但是提示:
httpd服务不支持chkconfig。
需要编辑/etc/rc.d/init.d/httpd,添加以下注释信息:
#chkconfig:
3458515
#description:
Activates/DeactivatesApacheWebServer
第一行3个数字参数意义分别为:
哪些Linux级别需要启动httpd(3,4,5);
启动序号(85);
关闭序号(15)。
保存后执行:
chkconfig--addhttpd,成功添加。
在rc3.d、rc4.d、rc5.d路径中会出现S85httpd的链接文件,其他运行级别路径中会出现K61httpd的链接文件。
3、运行chkconfig--listhttpd这时已经可以看到httpd服务了。
此时就可以使用servicehttpd命令了。
servicehttpdstart
servicehttpdrestart
servicehttpdstop
servicehttpdstatus
1.3常用配置项
全局变量GlobalEnvironment
字段名
默认值
说明
ServerRoot>
ServerRoot指令设置了服务器所在的目录。
一般来说它将包含conf/和logs/子目录。
使用DEB包安装的系统,此项的默认值为"
/etc/apache2"
也就是说仅仅包括apache2的配置文件.必须注意,该目录是受保护的,不允许非root用户对其进行修改.
PidFile
/var/run/apache.pid
指定记录httpd配置文件守护进程的进程号的文件。
由于httpd配置文件能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程。
对这个进程发送信号将影响所有的httpd进程。
PidFile定义的文件中就记录httpd父进程的进程号。
DocumentRoot
/var/www/html
该参数指定Apache服务器存放网页的路径,默认所有要求提供HTTP服务的连接,都以这个目录为主目录。
在每个Apache服务器存取的目录中,可以针对每个目录及子目录来设置允许及禁止客户端访问的服务。
以下为Apache的默认值。
MaxClients
150;
该参数限制Apache所能提供服务的最高数值,即同一时间连接的数目不能超过这个数值。
一旦连接数目达到这个限制,Apache服务器则不再为别的连接提供服务,以免系统性能大幅度下降。
Port
80
该参数用来指定Apache服务器的监听端口。
一般来说,标准的HTTP服务默认端口号是80,一般不要更改这个数值。
KeepAlive
on
目前多数的浏览器都请求服务器保持持续连接,这种功能就称为“KeepAlive”,它是HTTP1.1中的标准规格,一般是用来强化服务器的性能。
在使用保持连接功能时,设置客户一次请求连接能影响文件的最大上限,建议把默认值设为ON,以便提高访问性能。
MaxKeepAliveRequests
100
当使用保持连接(persistentconnection)功能时,可以使用本参数决定每次连接所能发出的要求数目的上限。
如果此数值为0,则表示没有限制。
建议尽可能使用较高的数值,以充分发挥Apache的高性能。
MaxRequestsPerChild
10
该参数限制每个子进程(childprocess)在结束前所能处理的请求数目,一旦达到该数目,这个子进程就会被中止,以避免长时间占据Apache(或者Apache服务器所采用的函数库),防止造成内存或者其他系统资源的超负荷。
MaxSpareServers/MinSpareServers
20/5
提供Web服务的HTTP守护进程,其数目会随连接的数目而变动。
Apache服务器采用动态调整的方法,维持足够的HTTP守护进程数目,以处理目前的负载,也就是同时保持一定的空闲HTTP守护进程来等候新的连接请求。
DirectoryIndex
inde.html
在此命令后添加其他的默认主页文件名,例如可以添加index.htm等。
当然这只是Apache的一些基本设置项,大家可以根据自己的实际情况加以灵活的修改,以充分发挥Apache的潜能。
如果修改配置文件之后让其立即生效,可以重启Apache服务。
1.4虚拟主机VirtualHost
虚拟主机指的是在单一机器上运行多个网站(例如和)。
虚拟主机可以“基于IP”,即每个IP一个站点;
或者“基于名称”,即每个IP多个站点。
这些站点运行在同一物理服务器上的事实不会明显的透漏给最终用户。
可以让apache监听多个端口访问不同的路径。
或者多个域名映射到同一个apache时做不同的访问分配。
下面实例为监听8001端口,映射到一个本地的物理地址。
1.Listen8001
2.NameVirtualHost*:
8001
3.<
VirtualHost*:
8001>
4.ServerAdminlimingnihao@
5.DocumentRoot"
E:
/_org.js/extjs-4.1.0/"
6.ServerNameextjs.localhost
7.ErrorLog"
logs/dummy-host2.localhost-error.log"
8.CustomLog"
logs/dummy-host2.localhost-access.log"
common
9.<
/VirtualHost>
10.
11.<
12.OptionsIndexesMultiViews
13.AllowOverrideNone
14.Orderallow,deny
15.Allowfromall
16.<
第2章负载均衡
2.1Tomcat链接方式
首先我们先介绍一下为什么要让httpserver与Tomcat之间进行连接。
事实上Tomcat本身已经提供了HTTP服务,该服务默认的端口是8080,装好tomcat后通过8080端口可以直接使用Tomcat所运行的应用程序,你也可以将该端口改为80。
既然Tomcat本身已经可以提供这样的服务,我们为什么还要引入Apache或者其他的一些专门的HTTP服务器呢?
原因有下面几个:
1.提升对静态文件的处理性能。
2.利用Web服务器来做负载均衡以及容错。
3.无缝的升级应用程序。
这三点对一个web网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个Tomcat宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的HTTP服务器也就只有apache的httpserver了,它跟tomcat的结合是最紧密和可靠的。
默认情况下,Tomcat在server.xml中配置了两种连接器:
第一个连接器监听8080端口,负责建立HTTP连接。
在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器监听8009端口,负责和其他的HTTP服务器建立连接。
在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。
两种端口可以同时开,也可以开一个。
例如我们使用apache通过ajp进行负载均衡配置时,可以关掉tomcat的http8080端口以防止可以被单独访问。
Web客户访问Tomcat服务器上JSP组件的两种方式如图:
使用http方式,配置文件
1.<
Connectorexecutor="
tomcatThreadPool"
port="
8080"
protocol="
HTTP/1.1"
connectionTimeout="
20000"
redirectPort="
8443"
/>
Enginename="
Catalina"
defaultHost="
localhost"
jvmRoute="
tomcat1"
使用ajp方式,配置文件
Connectorport="
8009"
AJP/1.3"
2.2mod_proxy
mod_proxy_balancer是apachehttpd自带的负载平衡支持。
其优点可以根据实际的运行时机器的环境来决定负载均衡的策略。
实现Session在node上进行共享传递。
2.2.1加载so库
1.#mod_proxy_blancer
2.LoadModuleproxy_modulemodules/mod_proxy.so
3.LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
4.LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
5.LoadModuleproxy_http_modulemodules/mod_proxy_http.so
6.LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
7.LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
#mod_proxy_blancer
LoadModuleproxy_modulemodules/mod_proxy.so
LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so
LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so
LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so
2.2.2http方式
Proxybalancer:
//mycluster>
2.BalancerMemberhttp:
//127.0.0.1:
8080loadfactor=3
3.BalancerMemberhttp:
7080loadfactor=3
4.ProxySetlbmethod=byrequests
5.<
/Proxy>
6.ProxyRequestsOff
7.ProxyPass/testbalancer:
//mycluster/stickysession=JSESSIONIDnofailover=Off
8.ProxyPassReverse/testbalancer:
//mycluster/
BalancerMemberhttp:
8080loadfactor=3
7080loadfactor=3
ProxySetlbmethod=byrequests
ProxyRequestsOff
ProxyPass/testbalancer:
//mycluster/stickysession=JSESSIONIDnofailover=Off
ProxyPassReverse/testbalancer:
实现负载均衡的原理为:
假设Apache接收到http:
//127.0.0.1/test请求,由于该请求满足ProxyPass条件(其URL前缀为“/"
),该请求会被分发到后台某一个BalancerMember。
譬如该请求可能会转发到http:
8080/进行处理。
当第二个满足条件的URL请求过来时,该请求可能会被分发到另外一台BalancerMember,譬如,可能会转发到http:
7080/如此循环反复,便实现了负载均衡的机制。
loadfactor表示:
后台服务器负载到由Apache发送请求的权值,该值默认为1,可以将该值设置为1到100之间的任何值。
以上面的配置为例,进行4此请求时,则有3次连续的这样请求被负载到BalancerMember为http:
8080/的服务器;
有1次被负载到BalancerMember为http:
7080/的服务器。
lbmethod表示:
负载载均衡策略。
lbmethod=byrequests按照请求次数均衡(默认)
lbmethod=bytraffic按照流量均衡
lbmethod=bybusyness按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
ProxyPass表示:
所有的test请求都会重定向到balancer:
//mycluster/处理。
balancer是内置负载。
ProxyPassReverse表示:
反向代理,也就是将所有的请求反向代理到负载均衡后的应用url路径中。
stickysession表示:
进行Session复制使用。
2.2.3AJP方式
tomcat提供了ajp协议和httpd通信。
当不想tomcat的8080端口开放时,可以使用此方式,配置文件:
2.BalancerMemberajp:
8009loadfactor=2route=tomcat1
3.BalancerMemberajp:
7009loadfactor=2route=tomcat2
BalancerMemberajp:
8009