海运的博客

Apache配置expires浏览器缓存

发布时间:May 15, 2012 // 分类:Apache // No Comments

Apache服务器利用HTTP的缓存功能将内容尽量缓存到客户端上,可极大节约服务器带宽及性能开销。
Apache利用mod_expires.so模块实现此功能。
1.简单用法:

#https://www.haiyun.me
ExpiresActive on|off #开关控制
ExpiresDefault <base><seconds>
ExpiresByType type/encoding <base><seconds>
#base可选
A:从此文件的访问时间算起
M:从此文件的修改时间算起

应用示例:

ExpiresDefault M3600  #新生成的文件有效期1小时
ExpiresByType text/html A86400 #html文件从访问时起24小时过期。

2.人性化用法:

ExpiresActive on|off #开关控制
ExpiresDefault "<base> [plus] {<num> <type>}*"
ExpiresByType type/encoding "<base> [plus] {<num> <type>}*" 
#<base>可用选项:
* access #同A
* now (等价于'access')
* modification #同M
#<num>为整数,<type>可选以下单位:
* years
* months
* weeks
* days
* hours
* minutes
* seconds

应用示例:

ExpiresDefault "modification plus 1 hours" 
ExpiresByType text/html "access plus 1 days"

Apache/httpd添加配置虚拟机

发布时间:April 16, 2012 // 分类:Apache // No Comments

Apache默认调用conf.d目录下conf文件,可在该目录新建虚拟机配置文件。
虚拟机配置:

vim /etc/httpd/conf.d/www.haiyun.me.conf
<VirtualHost *:80>
ServerName    www.haiyun.me #域名
ServerAlias www.haiyun.me #域名别名
ServerAdmin onovps@www.haiyun.me #管理员邮箱
DocumentRoot  /home/wwwroot/www.haiyun.me #网站目录
ErrorLog /var/log/httpd/onovps.error_log 错误日志目录
CustomLog     /var/log/httpd/onovps.access_log combined #日志格式及目录
php_admin_value open_basedir /home/wwwroot/www.haiyun.me/:/var/tmp/
#限制相应目录,防止跨站,多个目录以:相隔。
</VirtualHost> 

目录相关设置:

<Directory "/home/wwwroot/www.haiyun.me">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Nginx/Apache/Lnmp网站常用日记统计命令

发布时间:April 13, 2012 // 分类:日记分析 // No Comments

Nginx配置日记格式为Apache日志格式,便于分析。
1.访问次数最多的前10个IP。

awk '{print $1}' www.haiyun.me.log|sort|uniq -c|sort -rn|head -n 10

2.访问次数最多的10个页面。

awk '{print $7}' www.haiyun.me.log|sort|uniq -c|sort -rn|head -n 10

3.访问最多的时间,取前十个。

awk '{print $4}' www.haiyun.me.log|cut -c 14-18|sort|uniq -c|sort -rn|head -n10

4.查看下载次数最多的文件,显示前10个。

awk '{print $7}' www.haiyun.me.log|awk -F '/' '{print $NF}'|sort|uniq -c|sort -rn|head -n 10
#如统计请求链接去除awk -F '/' '{print $NF}'|sort|

5.统计网站流量,以M为单位。

awk '{sum+=$10} END {print sum/1024/1024}' www.haiyun.me.log

6.统计IP平均流量、总流量。

awk 'BEGIN {print"ip average total"}{a[$1]+=$10;b[$1]++}END{for(i in a)print i,a[i]/1024/1024/b[i]"MB",\
a[i]/1024/1024"MB"}' www.haiyun.me.log |column -t

7.用sed统计特定时间内日志,配合以上使用awk分析。

sed -n '/10\/Feb\/2012:18:[0-9][0-9]:[0-9][0-9]/,$p' www.haiyun.me.log
#截取二月10号18点后所有日志
sed -n '/10\/Feb\/2012:18:[0-9][0-9]:[0-9][0-9]/,/10\/Feb\/2012:20:[0-9][0-9]:[0-9][0-9]/p' \
www.haiyun.me.log
#截取二月10号18点到20点之间日志

8.统计404或403最多的网址。

awk '$9 ~ /403/ {print $7}' www.haiyun.me.log|sort|uniq -c|sort -rn|head -n 80
awk '$9 ~ /404/ {print $7}' www.haiyun.me.log|sort|uniq -c|sort -rn|head -n 80

Apache服务器安全设置

发布时间:April 7, 2012 // 分类:Apache,网络安全 // No Comments

Apache是世界上占用率最大的web服务器软件,以安装、稳定而著称,默认安装后有一些限制较为宽松,可进一步设置加固其安全。
1.隐藏版本信息:

ServerSignature off #不输出任何页脚信息
ServerTokens prod #不输出apache版本信息

2.以低权限用户运行:

User nobody
Group nobody

3.网站目录设定:

<Directory "/var/www/html">
#Options Indexes FollowSymLinks #取消目录浏览,链接到其它目录
AllowOverride None  #禁止htaccess
php_admin_value open_basedir /var/www/html/ #限制活动目录,防止跨站,多个目录以:相隔
Order allow,deny
Allow from all
</Directory>

4.隐藏php版本,编辑php配置文件php.ini,添加或修改:

expose_php Off
分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...