海运的博客

Nginx编译安装more_set_headers模块自定义head头信息

发布时间:May 9, 2012 // 分类:Nginx // No Comments

通过服务器的head头可以得到服务器的很多信息,这给服务器安全带来很大隐患,如:

curl -I https://www.haiyun.me
HTTP/1.1 301 Moved Permanently
Server: nginx/1.0.15
Date: Fri, 10 Feb 2012 10:43:42 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.2.17p1
location: forum.php

Nginx可以编译添加第三方模块more_set_headers来自定义或清除相关head信息。

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.0.15.tar.gz
tar zxvf nginx-1.0.15.tar.gz
cd nginx-1.0.15
wget -O header.zip --no-check-certificate https://github.com/agentzh/headers-more-nginx-module/zipball/v0.17rc1
unzip header.zip 
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-\
http_ssl_module --with-http_gzip_static_module --add-module=./agentzh-headers-more-nginx-module-3580526/
make && make install

应用示例,清除服务器及php信息,在配置文件http段添加以下:

more_clear_headers "X-Powered-By:";
more_clear_headers "Server:";

重新加载配置文件:

/etc/init.d/nginx reload

查看当前head头信息:

curl -I https://www.haiyun.me
HTTP/1.1 301 Moved Permanently
Date: Fri, 10 Feb 2012 10:58:38 GMT
Content-Type: text/html
Connection: keep-alive
location: forum.php

现在nginx及php信息都没了,当然也可自定义为其它信息。

Linux/Centos修改最大文件数限制

发布时间:May 7, 2012 // 分类:系统调优 // No Comments

查看系统最大文件数限制:

cat /proc/sys/fs/file-max 

查看系统当前已打开的文件数:

cat /proc/sys/fs/file-nr 

调整系统最大文件数限制:

echo "fs.file-max=65535" >> /etc/sysctl.conf
sysctl -p

查看特定进程限制:

cat /proc/1526/limits

查看指定进程已打开的文件数:

ls /proc/1526/fd/|wc -l

修改进程方面限制:

ulimit -HSn 65535 #只对当前用户有效

修改永久限制:

#centos6 /etc/security/limits.d/90-nproc.conf 
cat >>/etc/security/limits.conf<<EOF 
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF

如不能保持:

cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF

Centos7下修改/etc/security/limits.conf文件只在用户登录后打开的进程有效,系统服务或通过rc.local启动的无效,系统服务修改文件/usr/lib/systemd/system/SOME_SERVICE.service添加:

[Service]
LimitNOFILE=65535

rc.local启动进程前添加:

ulimit -SHn 65535

Awk的内置变量

发布时间:May 6, 2012 // 分类:Shell // No Comments

awk常用内置变量:

FS 输入分隔符,等同于-F
OFS 输出分隔符
NF 列数
FNR 输入文件的记录数
NR 行数
RS 输入记录分隔符
ORS 输出记录分隔符
FIRENAME 当前处理的文件名

Awk应用举例:

#https://www.haiyun.me
awk 'BEGIN {num=5} {FS=":"} $3>num {OFS="-";print NF,NR,FNR "\t" $1 "\t" $2 "\t" $3 "\t" $NF} END{print FILENAME}' /etc/passwd
7-13-13    games    x    12    /sbin/nologin
7-14-14    gopher    x    13    /sbin/nologin
7-15-15    ftp    x    14    /sbin/nologin
7-16-16    nobody    x    99    /sbin/nologin
7-17-17    nscd    x    28    /sbin/nologin
7-18-18    vcsa    x    69    /sbin/nologin
7-19-19    pcap    x    77    /sbin/nologin

Nginx/Lnmp定时分割日志shell脚本

发布时间:May 5, 2012 // 分类:日记分析 // No Comments

如果服务器访问量较大,Nginx日志占用空间也是个很大的问题,也不可能每天都手工清除日志,久而久之硬盘空间。。。
此脚本用于每天定时切割日记,备份30天内的日志数据备查,并删除30前备份的数据。

#/bin/bash
#Create by https://www.haiyun.me
log_path="/home/wwwlogs"
mkdir -p $log_path/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/$(date -d "yesterday" +"%d")  
for logname in $(ls /home/wwwlogs/*.log |awk -F/ '{print $NF}')
do
         mv $log_path/$logname $log_path/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/$(date -d "yesterday" +"%d")/$logname
 done
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
find $log_path -type d -mtime +30 -exec rm {} \;

将此脚本添加到计划任务:

echo "30 1 * * * sh /path/file.sh" > /etc/cron.d/nginx
#每天凌晨1点30执行任务

修改PPPOE配置解决ADSL频繁掉线问题

发布时间:May 5, 2012 // 分类:OpenWrt // No Comments

使用迅雷下载的时候openwrt老是掉线,查看ppp日志:

May  5 07:02:05 OpenWrt daemon.info pppd[23813]: No response to 5 echo-requests
May  5 07:02:05 OpenWrt daemon.notice pppd[23813]: Serial link appears to be disconnected.
May  5 07:02:05 OpenWrt daemon.info pppd[23813]: Connect time 1089.9 minutes.
May  5 07:02:05 OpenWrt daemon.info pppd[23813]: Sent 335012468 bytes, received 1671352386 bytes.
May  5 07:02:06 OpenWrt user.notice root: stopping ntpclient
May  5 07:02:12 OpenWrt daemon.notice pppd[23813]: Connection terminated.
May  5 07:02:12 OpenWrt daemon.notice pppd[23813]: Modem hangup

PPPOE客户端会每隔10秒向服务器发送echo request确认在线,5次请求未回应就认为连线有问题并断开连接。
修改配置增加和ADSL服务器交互间隔:

vim /etc/ppp/options
lcp-echo-interval 30 #发送间隔秒
lcp-echo-failure 15 #15次未响应断开
分类
最新文章
最近回复
  • 海运: 可能版本问题
  • 海运: 如果运营商限制型号
  • 海运: 没有
  • Mruru: 烽火猫切换rootfs的方法有么大佬?
  • nono: 修改光猫型号是做啥子用的
  • 960: root账号默认密码hg2x0 不对哇
  • rer: 感谢分享!~
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
归档