apache优化

环境:192.168.80.102 主机名:zlf3
1、更改apache的默认用户
通过更改apache的默认用户,可以提升apache的安全性。这样,即使apache服务被攻破,黑客拿到apache普通用户也不会对系统和其他应用造成破坏。这里创建的apache用户,将用于对子进程和线程的控制。
useradd -M -s /sbin/nologin apache //创建apache用户
编辑apache配置文件,修改默认的用户。
vi /usr/local/httpd/conf/httpd.conf
在这里插入图片描述

2、Apache连接保持(keepalive)
在Apache的httpd.conf中,KeepAlive指的是保持连接活跃,类似于Mysql的永久连接。换一句话说,如果将KeepAlive设置为On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。
KeepAlive的连接活跃时间当然是受KeepAliveTimeOut限制的。如果第二次请求和第一次请求之间超过KeepAliveTimeOut的时间的话,第一次连接就会中断,再新建第二个连接。

所以,一般情况下,图片较多的网站应该把KeepAlive设为On。但是KeepAliveTimeOut应该设置为多少秒就是一个值得讨论的问题了。

如果KeepAliveTimeOut设置的时间过短,例如设置为1秒,那么APACHE就会频繁的建立新连接,当然会耗费不少的资源;反过来,如果KeepAliveTimeOut设置的时间过长,例如设置为300秒,那么APACHE中肯定有很多无用的连接会占用服务器的资源,也不是一件好事。

所以,到底要把KeepAliveTimeOut设置为多少,要看网站的流量、服务器的配置而定。

如何去设置开启关闭连接保持?操作如下:

    vi /usr/local/httpd/conf/extra/httpd-default.conf   //子配置文件

    KeepAlive On    //打开连接保持功能
    MaxKeepAliveRequests 100  //一次连接最多请求100个文件
    KeepAliveTimeout 5   //单位是秒

到主配置文件中vi /usr/local/httpd/conf/httpd.conf

Include conf/extra/httpd-default.conf  去掉#

在这里插入图片描述
systemctl restart httpd改完配置文件后,一定要重启

3、配置访问控制
vi /usr/local/httpd/conf/httpd.conf //对htdocs目录设置控制,直接新增两行。

找到htdocs

Deny from 192.168.80.0/24 拒绝80网段的
Require all granted 允许所有来源访问
在这里插入图片描述

vi /etc/hosts //添加域名解析文件
在这里插入图片描述
systemctl restart httpd

访问

curl http://www.aa.com

在这里插入图片描述

基于IP地址的访问控制
Require ip 10 172.20 192.168.2
允许特定IP或IP段,多个IP或IP段间使用空格分隔
基于主机名的访问控制
Require host example.org
Require host .net example.edu

4、配置认证访问:

vi /usr/local/httpd/conf/httpd.conf 

AuthName “kgc.cn
AuthType Basic //设置认证方法为基本认证
AuthUserFile /usr/local/httpd/user //指定密码文件
require valid-user //设置允许访问用户为有效用户

注:
AuthName:定义提示信息,用户访问时提示信息会出现在认证的对话框中
AuthType:定义认证类型,basic 基本认证
AuthUserFile:定义包含用户名和密码的文本文件,每行一对
AuthGroupFile:定义包含用户组和组成员的文本文件。组成员之间用空格分开,如:group1:user1 user2
require命令:定义哪些用户或组才能被授权访问
  require user user1 user2 (只有用户user1和user2可以访问)
  requires groups group1 (只有group1中的成员可以访问)  
require valid-user (在AuthUserFile指定的文件中的所有用户都可以访问

apachectl -t 检查语法错误

htpasswd -c /usr/local/httpd/user test
//新建数据文件/usr/local/httpd/user,其中包含一个名为test的用户信息
第一次添加用户时user.testt文件不在,需要用-c选项创建文件(create)
htpasswd /usr/local/httpd/.user jack
//向/usr/local/httpd/user数据文件中添加一个新用户jack
cat /usr/local/httpd/.user //确认用户数据文件
service httpd restart

此时,访问需要用户名和密码了,输入我们设置的用户和密码即可进入

5、配置日志分割
编辑Apache的主配置文件httpd.conf,更改内容如下:
vi /etc/httpd.conf
注释掉如下两行
ErrorLog logs/error_log
CustomLog logs/access_log common
然后添加如下两行
CustomLog “|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/accesslog.%Y-%m-%d- 86400” common
ErrorLog “|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/errorlog.%Y-%m-%d 86400”

//通过管道把日志交给rotatelogs工具 -l指使用本地时间 86400表示日志分隔的间隔为1天,单位是秒。

或者:
ErrorLog “|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/errorlog.%Y-%m-%d-%H_%M_%S 2M +480”
CustomLog “|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/accesslog.%Y-%m-%d-%H:%M:%S 2M +480” common

保存退出
[root@lamp logs]# apachectl -t

注:
errorlog.%Y-%m-%d-%H_%M_%S为生成日志的格式,类似于这样:errorlog.2018-10-11-17_00_00 ,以年月日时分秒为单位的
2M 为日志的大小,即为日志达到多大后生成新的日志文件,支持的单位为K,M,G,本处为2M。
+480 为时差,文件的时间为英国时间,中国的时差要比英国多8个小时也就是480分钟,所以要加上480分钟。

rotatelogs语法说明:
rotatelogs [-l] 日志文件名(绝对路径) 日志偏移量(时间) 或者 大小

-l:使用本地时间代替GMT时间作为时间基准
GMT时间就是格林威治时间(世界时),是指格林尼治所在地的标准时间,英国伦敦
例子:
每天生成一个错误日志文件
ErrorLog “|bin/rotatelogs -l logs/error-%Y-%m-%d.log 86400”

CustomLog “|bin/rotatelogs /var/logs/logfile 86400” common
此配置会建立文件"/var/logs/logfile.nnnn",其中的nnnn是名义上的日志启动时的系统时间(此时间总是滚动时间的倍数,可以用于cron脚本的同步)。在滚动时间到达时(在此例中是24小时以后),会产生一个新的日志。

CustomLog “|bin/rotatelogs /var/logs/logfile 5M” common
此配置会在日志文件大小增长到5兆字节时滚动该日志。
ErrorLog “|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M”
此配置会在错误日志大小增长到5兆字节时滚动该日志,日志文件名后缀会按照如下格式创建:errorlog.YYYY-mm-dd-HH_MM_SS 。

-----以下使用cronolog进行日志分隔--------
https://fossies.org/linux/www/old/cronolog-1.6.2.tar.gz/cloc.html 下载cronolog-1.6.2.tar.gz
tar xzvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure && make && make install

which cronolog
/usr/local/sbin/cronolog
LogFormat “%h %l %u %t “%r” %>s %b” common //定义日志的格式

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值