您的位置 首页 汽车

Linux网站架构系列之apache—-调优篇

前面两篇博文讲解了apache的部署和配置等方面知识,本篇将为大家详细讲解生产环境中对apache服务各个方面的优化调试。生产环境中,大家肯定不会部

前面两篇博文解说了apache的布置和装备等方面常识,本篇将为咱们具体解说出产环境中对apache服务各个方面的优化调试。

出产环境中,咱们必定不会布置了apache之后就完事拿去上线了。光杆子上战场等着完蛋的嘛!因而,不管从安全仍是功用视点,咱们必须在apache服务上线之前,对其做许多的优化调试才行。因而,本篇笔者经过总结自己的学习和工作经验,概括总结出的apache调优的20个小点。

本文篇幅有点长,本来想分隔写了,后来想想仍是放在一篇博文吧。因而,咱们就谅解谅解吧。

环境:

CentOS6.4 x86_64位 选用最小化装置,体系经过了根本优化篇

apache版别:

apr版别:apr-1.4.8

apr-util版别:apr-util-1.5.2

pcre版别:pcre-7.8

源码包寄存方位:/server/tools

源码包编译装置方位:/etc/local/软件称号

一、源码官方下,补丁及时打

正如咱们在apache布置篇讲到的咱们需求对下载的源码包进行验证相同,咱们在选择apache源码装置包的时分,一定要去官网,不要去杂乱无章的站点进行下载,避免源码包被心怀叵测的人动过手脚,导致后边对公司事务形成不必要丢失。

别的为了apache的安全性和功用考虑,咱们一定要多多重视apache的官网的补丁发布状况,一旦有新的补丁,咱们一定要及早打上。特别是一些安全补丁,避免遭到丢失。

二、屏蔽apache版别等灵敏信息

1)咱们在apache主装备文件中,找到包括的行,并解开注释

[root@c64-web /]# grep ; /usr/local/apache/conf/

#Include conf/extra/

[root@c64-web /]# sed -i ‘s##Include conf/extra/; /usr/local/apache/conf/

留意:编译装置的状况下,只要此行解开注释了,后边的修正才干收效。

2)翻开文件,修正如下两个当地

[root@sunsky /]# grep Server conf/extra/|grep -v #

ServerTokens full

ServerSignature Off

修正为

ServerTokens Prod

ServerSignature Off

经过上面的修正,当你在curl-Iwww.sunsky.pw的时分,仍是会出现下面的信息

Server: Apache

完全让版别等灵敏信息消失

假如你需求完全将版别之类的信息进行面目一新,你就需求在编译之前做准备或许进行从头编译了。在从头编译时,修正源码包下include目录下的ap_release.h文件

#define AP_SERVER_BASEVENDOR Apache Software Foundation #服务的供货商称号

#define AP_SERVER_BASEPROJECT Apache HTTP Server #服务的项目称号

#define AP_SERVER_BASEPRODUCT Apache #服务的产品名

#define AP_SERVER_MAJORVERSION_NUMBER 2 #首要版别号

#define AP_SERVER_MINORVERSION_NUMBER 4 #小版别号

#define AP_SERVER_PATCHLEVEL_NUMBER 6 #补丁等级

#define AP_SERVER_DEVBUILD_BOOLEAN 0 #

上述列出的行,我现已给出了注释,咱们能够修正成自己想要的,然后编译装置之后,再对文件进行修正,对方就完全不知道你的版别号了。

三、更改apache的默许用户

咱们经过更改apache的默许用户,能够提高apache的安全性。这样,即便apache服务被攻破,黑客拿到apache普通用户也不会对体系和其他运用形成损坏。这儿创立的apache用户,将用于对子进程和线程的操控。

[root@c64-web /]# useradd -M -s /sbin/nologin apache 创立apache用户

修正apache装备文件,修正默许的用户。

[root@c64-web /]# vim /usr/local/apache/conf/

User apache #更改默许的daemon用户为apache用户

Group apache #更改默许的daemon用户为apache用户

四、apache目录及文件权限设置

在出产环境的网站架构中,咱们应把资源文件,例如用户上传的图片及附件等和程序做好别离,最好是把上传程序也别离开来。这样才干更便利咱们做好授权,确保apache服务和整个服务器安全。

这儿咱们设置apache的网站目录属主和属组是root,权限是755,文件的权限为644。

lrwxr-xr-x 1 root root 23 11月 5 02:04 apache -> /usr/local/apache-2.4.6

drwxr-xr-x 14 root root 4096 11月 5 12:37 apache-2.4.6

而且,在对日志的授权商,咱们要将属主和属组都设置为root,权限设置为700。

drwx—— 2 root root 4096 11月 5 02:46 logs

因为apache日志的记载是由apache的主进程进行操作的,而apache的主进程又是root用户发动的,所以这儿设置700是不影响日志记载了。这也是日志记载的最安全的办法。

五、装备cronolog进行日志轮询

因为apache自带的日志轮询东西rotatelogs,据专家说在进行日志切开时简单丢日志,因而咱们一般运用cronolog进行日志轮询。

1、下载并装置cronolog

[root@sunsky /]# cd /server/tools/

[root@sunsky tools]# wget

[root@sunsky tools]# tar zxf cronolog-1.6.2.tar.gz

[root@sunsky tools]# cd cronolog-1.6.2

[root@sunsky cronolog-1.6.2]# ./configure

[root@sunsky cronolog-1.6.2]# makemake install

2、装备apache运用cronolog

因为试验用的apache敞开了虚拟主机功用,所以以下典范装备都在虚拟主机中进行。

[root@sunsky cronolog-1.6.2]# vim /usr/local/apache/

将装备文件中的CustomLog和ErrorLog替换为下面的(因为咱们要对多站点,所以这儿要替换两个虚拟主机的,而且将日志寄存姓名做有用的区别才好)

CustomLog |/usr/local/sbin/cronolog /app/logs/sunsky_access_%Y%m%d.log combined

ErrorLog |/usr/local/sbin/cronolog /app/logs/sunsky_error_%Y%m%d.log

更多日志格局参阅:

按天轮询(出产环境常见用法,引荐运用):

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/298176.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部