栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Apache httpd-2.2.17安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Apache httpd-2.2.17安装

1、Apache的安装 上传httpd-2.2.17软件包并解压
[root@localhost ~]# ls
anaconda-ks.cfg  httpd-2.2.17.tar.gz
[root@localhost ~]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/httpd-2.2.17/

yum安装依赖包

[root@localhost ~]# yum -y install pcre-devel apr-devel libdb-devel cyrus-sasl-devel openldap-devel expat-devel apr-util-devel gcc zlib-devel zlib

编译安装开启相应模块

[root@localhost httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-cgi --enable-rewrite --enable-so --enable-deflate --enable-expires 
[root@localhost httpd-2.2.17]# make && make install

--enable-deflate:启用压缩模块;先压缩网页,在发送给客户端传输速度快

--enable-expires:缓存;有本地缓存使用缓存,没有缓存在从服务器拿数据


软连接

[root@localhost httpd-2.2.17]# ln -s /usr/local/httpd/bin/* /usr/local/bin
[root@localhost httpd-2.2.17]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@localhost httpd-2.2.17]# chmod a+x /etc/init.d/httpd
[root@localhost httpd-2.2.17]# vim /usr/local/httpd/conf/httpd.conf +97
#ServerName www.example.com:80       //删除此行#号
[root@localhost httpd-2.2.17]# /etc/init.d/httpd start
[root@localhost httpd-2.2.17]# netstat -anptu | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      51199/httpd  

验证 

2.Apache的三种工作模式

1、Prefork MPM
多进程 

 Prefork MPM:实现了一个非线程的、预派生的web服务器。它在Apache启动之初,就先预派生一些子进程,然后等待连接;可以减少频繁创建和销毁进程的开销,每个子进程只有一个线程,在一个时间点内,只能处理一个请求。
优点:这是一个成熟稳定,可以兼容新老模块,也不需要担心线程安全问题
缺点:但是一个进程相对占用资源,消耗大量内存,不擅长处理高并发的场景

2、Worker MPM
多进程+多线程   

Worker MPM和prefork模式相比:worker使用了多进程和多线程的混合模式,worker模式也同样会先预派生一些子进程,然后每个子进程创建一些线程,同时包括一个监听线程,每个请求过来会被分配到一个线程来服务。
优点:线程比起进程会更轻量,因为线程是通过共享父进程的内存空间,因此,内存的占用会减少一些,在高并发的场景下会比prefork有更多可用的线程,表现会更优秀一些
缺点:如果一个线程出现了问题也会导致同一进程下的线程出现问题,如果是多个线程出现问题,也只是影响Apache的一部分,而不是全部。由于用到多进程多线程,需要考虑到线程的安全了,在使用keep-alive长连接的时候,某个线程会一直被占用,即使中间没有请求,需要等待到超时才会被释放(该问题在prefork模式下也存在)

 3、Event MPM
多进程+多线程+epoll

这是Apache最新的工作模式,它和worker模式很像,不同的是在于它解决了keep-alive长连接的时候占用线程资源被浪费的问题,在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放。这增强了在高并发场景下的请求处理


主要目录和文件
服务目录    /usr/local/httpd/
主配置文件    /usr/local/httpd/conf/httpd.conf
网页目录    /usr/local/httpd/htdocs/
服务脚本    /usr/local/httpd/bin/apachectl
执行程序    /usr/local/httpd/bin/httpd
访问日志    /usr/local/httpd/log/access_log
错误日志    /usr/local/httpd/log/error_log

修改apache模式
 查看当前模式

[root@C7--01 ~]# /usr/local/httpd/bin/httpd -V |grep 'Server MPM'         
Server MPM:     Prefork


修改模式配置

重新编译时使用--with-mpm=worker 指定工作模式

[root@localhost httpd-2.2.17]# /etc/init.d/httpd stop           
[root@localhost httpd-2.2.17]# cd /usr/src/httpd-2.2.17/        
[root@localhost httpd-2.2.17]#  ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --with-mpm=worker         
[root@localhost httpd-2.2.17]# make clean &&  make && make install
....
..
[root@localhost httpd-2.2.17]# /etc/init.d/httpd start
[root@localhost httpd-2.2.17]# /usr/local/httpd/bin/httpd -V |grep 'Server MPM'

 当从切换模式时,要重新编译安装
 

3.apache优化之保持连接、网页传输压缩、页面缓存时间


保持连接、长链接(keep-alive)
作用: HTTP协议是TCP的子协议, HTTP建立连接时需要先建立TCP连接,断开时也需要断开口TCP连接, TCP的建立和断开消耗的资源通过HITTP连接保持可以节约下来。对于HTTP/1.1,尽量地保持客户端的TCP连接,通过一个TCP连接传送多个HTTP请求响应,对于客户端可以提高50%以上的响应时间,对于服务器可以降低建立与关闭TCP连接时的资源消耗

keep-alive    是否打开保持连接功能。根据网站的并发请·求量决定是否打开,高并发时打开,并发量不高时可选择关闭
keep-alive timeout    一次TCP连接多次HTTP请求之间的最大间隔时间,两次HTTP请求超过此时间连接将会断开
maxkeep-alive requestes    一次TCP连接能够传输的最大HTTP请求数量
进入主配置文件

[root@localhost httpd-2.2.17]#  /etc/init.d/httpd -M #查看模块

[root@localhost httpd-2.2.17]# vim /usr/local/httpd/conf/httpd.conf +397
397 Include conf/extra/httpd-default.conf     #删除前面的#号

[root@localhost httpd-2.2.17]# /etc/init.d/httpd restart

[root@localhost httpd-2.2.17]# vim /usr/local/httpd/conf/extra/httpd-default.conf  #可以修改keep-alive配置

4.apache网页压缩

作用:配置Apache的网页压缩功能,是使用Gzip压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端浏览器。通常在cpu有空闲,网站带宽占用高时,会启用

压缩的优势:
1.加快网页加载的速度,改善用户的浏览体验
2.降低网络传输带宽, 服务器节省流量
3.网页压缩有利于搜索引擎的抓取

Apache能实现网页压缩功能的模块有mod_gzip模块和mod_deflate模块

mod_gzip mod_deflate
Gzip算法,运作原理类似 Gzip算法,运作原理类似
压缩速度略慢   压缩速度略快
压缩比略高     压缩比略低
CPU占用率略高  CPU占用率略低 
低流量服务器      高浏览量服务器

配置项
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript    对什么格式的内容启用压缩
DeflateCompressionLevel 9    压缩级别为9,范围是1-9,数字大压缩率高
SetOutputFilter DEFLATE    启用deflate压缩方式

[root@localhost httpd-2.2.17]# echo 'AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE' >> /usr/local/httpd/conf/httpd.conf   #把命令追加到文件最后
[root@localhost httpd-2.2.17]# /etc/init.d/httpd restart

5.页面缓存

作用:通过mod_expires模块配置Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求,减轻服务端工作压力(启用mod_expires模块后,会自动生成页面头部信息中的  Expires  标签和  CacheControl  标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的)

[root@localhost ~]# echo ‘
   ExpiresActive On
   ExpiresDefault "access plus 10 seconds"
’  >> /usr/local/httpd/conf/httpd.conf
 
 
   ExpiresActive On                             #启用网页缓存
   ExpiresDefault "access plus 10 seconds"      #缓存默认时间是10s
 
 
 
[root@localhost ~]# /etc/init.d/httpd restart    #重启服务

6.隐藏版本号

ServerTokens Prod      #显示最少的信息,默认是Full显示完整信息
ServerSignature Off    #生成页面的页脚

[root@localhost ~]# vim /usr/local/httpd/conf/extra/httpd-default.conf +55
 55 ServerTokens prod
 65 ServerSignature off
[root@localhost ~]# /etc/init.d/httpd restart 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/694889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号