浏览模式: 普通 | 列表

Nginx禁止ip/ip段访问站点

[ 2012-11-18 12:28:26 | 作者: admin ]
p.s. 封ip段的情况实例

deny 155.155.155.0/24
deny 155.155.0.0/16
deny 155.0.0.0/8




网络上总有那么一些无聊的人或者有目的的人给你来点麻烦。咱得打消他的企图才行。

一、Nginx的ngx_http_access_module 模块可以用来设置允许/禁止哪些ip或ip段访问

首先建立下面的配置文件放在nginx的conf目录下面,命名为deny.ip

cat deny.ip

deny 192.168.1.11;

deny 192.168.1.123;

deny 10.0.1.0/24;

在nginx的配置文件nginx.conf中加入:include deny.ip;

重启一下nginx的服务:/usr/local/nginx/sbin/nginx -s reload 就可以生效了。
...

阅读全文…
脚本如下:


#!/bin/sh
nginx_home = /Data/app_1/nginx
log_path = /Data/logs
/usr/bin/tail -n50000 $log_path/access.log \
|awk ‘$8 ~/aspx/{print $2,$13}’ \
|grep -i -v -E “google|yahoo|baidu|msnbot|FeedSky|sogou” \
|awk ‘{print $1}’|sort|uniq -c |sort -rn \
|awk ‘{if($1>150)print “deny “$2″;”}’> $nginx_home/conf/vhosts/blockip.conf
/bin/kill -HUP `cat $nginx_home/nginx.pid`

也可以通过分析ngin...

阅读全文…
ntop
iftop
tc
iptraf
安装iptraf查看流量,安装tc进行流控


服务器上的一些统计数据:

1)统计80端口连接数

netstat -nat|grep -i "80"|wc -l
netstat -pnt|grep -i "80"|wc -l

windows下可以用 netstat -ano

2)统计httpd协议连接数

ps -ef|grep httpd|wc -l


3)、统计已连接上的,状态为“established'


netstat -na|grep ESTABLISHED|wc -l


4)、查出每个IP地址连接数,不按数量排序.
[code][/code]...

阅读全文…

LINUX系统日志的清除

[ 2012-09-29 01:29:01 | 作者: admin ]
维护系统很长时间,第一次遇见系统日志把var空间占满了,经过查找资料解决。

主要的日志子系统:
1.连接时间日志--由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
2.进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。
3.错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

常用的日志文件如下:
          access-log         纪录HTTP/web的传输
...

阅读全文…
Starting sendmail:

Starting sm-client:

刚才发了修改主机名那篇文章后,我意外发现重新启动CentOS的时候系统会卡在sendmail和sm-client那里将近3分钟才继续,找了一下sendmail和sm-client的文档发现自己犯了一个错误。

我简单说一下原因,就是sendmail和sm-client都是MTA,只认网络主机名,如admin.slyar.com这样的,而我之前那篇文章直接把localhost.localdomain改成了Slyar,不符合网络主机名规范,所以启动速度慢。解决办法如下:

1.修改 /etc/sysconfig/network 下的主机名为网络主机名 Slyar.localdomain
# vim /etc/sysconfig/network
[img]attachments/20120...

阅读全文…

linux找到程序安装位置

[ 2012-05-04 18:11:07 | 作者: admin ]
我们常常需要对已经安装的linux程序,进行一些个性化的修改,以便更适合我们的使用,哪么在Linux中如何查找程序安装的位置呢?

1、如果程序在运行,可以直接找到进程
ps -ef | grep mysql


2、Linux提供了一个非常方便的命令whereis

[root@centos /]# whereis --help
whereis [ -sbmu ] [ -SBM dir ... -f ] name...

使用whereis 命令就可以查到我们安装的程序位置啦!

[root@centos /]# whereis mysql
mysql:
/usr/bin/mysql
/usr/lib/mysql
/usr/include/mysql
/usr/share/mysql
/usr/share/man/man1/mysql.1.gz

CentOS 5.5 下修改Apache默认端口80

[ 2012-04-13 23:04:08 | 作者: admin ]
打开 /etc/httpd/conf/httpd.conf 文件

修改两个地方
        #Listen 12.34.56.78:80
        Listen 80
        #把80改为你设置的端口,我设置端口为8080
        Listen 8080

          NameVirtualHost *:80
        #把80改为你设置的端口,我设置端口为8080
        NameVirtualHost *:8080

保存修改,退出。

        semanage port -a -t http_port_t -p tcp 8080 #输入这个命令 要不httpd 会启动失败。
        /etc/rc.d/init.d/httpd start #启动httpd



最后再防火墙里面加上8080端口的设置
/etc/sysconfig/iptables
...

阅读全文…

crontab命令详解 任务系统 作业调度

[ 2012-04-13 22:39:58 | 作者: admin ]
crontab命令的功能是在一定的时间间隔调度一些命令的执行。找到 /etc/crontab 文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。

crontab命令有三种形式的命令行结构:

crontab [-u user] [file]

crontab [-u user] [-e|-l|-r]

crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。

命令行中-r选项的作用是从 /usr/spool/cron/crontabs 目录下删除用户定义的文件crontab;
...

阅读全文…