/////////////////////////目录/////////////////////////////////////////

一、日常监控指标相关

1.监控系统状态命令

2.查看系统进程

3.网络相关

4.系统活动情况报告

二、日常维护安全相关

1.tcp抓包工具

2.Selinux

3.netfilter------iptables

    (1)流程

    (2)五链三表

    (3)iptable规则相关

    (4)规则备份与恢复

    (5)实例

三、Linux系统相关

  1.Linux系统服务管理

  2.Linux系统日志

  3.几个网络相关的命令

  4.用rsync实现远程文件同步与备份

    (1)rsync命令格式

    (2)rsync常用选项

    (3)rsync选项讲解

    (4)rsync应用实例 -ssh方式同步

    (5)rsync应用实例 -daemon方式同步

          ————注意两种方式的脚本书写方法

其他、Linux日常管理拓展链接

//////////////////////////////////////////////////////////////////////

一、日常监控指标相关

1.监控系统状态命令

w,uptime,vmstat,top

相关指标如下:

  r :(runable)表示运行和等待CPU时间片的进程数,如果长期大于服务器CPU的个数,则说明CPU不够用
  b :(The number of processes in uninterruptible sleep)表示等待资源的进程数,比如等待I/O,内存等,这列的值如果长时间大于一,则需要关注一下了
  si :由交换区进入内存的数量
  so :由内存进入交换区的数量
  bi :从块设备读取数据的量(读磁盘)
  bo :从块设备写入数据的量(写磁盘)
  in :interrupt每秒的中断次数,包含时钟中断
  cs : context switch 每秒的上下文切换次数
  wa :表示I/O等待所占用CPU时间百分比

  us:用户态的进程
  sy:内核态的
  PID 进程的ID
  PR 优先级
  NI 优先值,从-20到19,数值越低,优先级越高
  VIRT 虚拟内存大小
  RES (关注这个)真正内存,这一项为进程所占内存大小
  %MEM为使用内存百分比,在top状态下,按“shift +m” 可以按照内存使用大小排序,按数字“1”可以列出各颗CPU的使用状态
  SHR 共享内存
  S 状态state

2.查看系统进程

ps aux

或者是

ps -elf

3.网络相关

netstat -lnp 查看监听端口

      -an 查看网络连接状态

4.系统活动情况报告

sar

  网卡流量 sar -n DEV, sar -n DEV 1 10
  sar -n DEV -f /var/log/sa/sa24
  着重看rxpck/s rxbyt/s ,
    (在/var/log/sa/里面,有sa和sar的,sa的文件可以直接cat查看,而sar24的需要用上述的方法来查看)
  sar -q -f /var/log/sa/sa24
  sar -q 查看历史的负载,前提是开启了/etc/init.d/sysstat服务
  sar -b 查看磁盘读写

二、日常维护安全相关

1.tcp抓包工具

tcpdump :
  tcpdump -nn -i eth0 tpc and host 192.168.0.1 and port 80
  tcpdump -nn -vs0(s0代表把这个包全部抓到) tcp and port not(取反) 22 -c 100(抓100个包后停止) -w(写到那个文件里面) 1.cap
  写到这个文件之后,你可能会去cat一下看它,但是cat之后会出现一堆乱码,证明他不是一个普通的可查看文件,怎么办呢
  使用strings,可以把二进制的东西显示出来:

  strings /tmp/1.cap

抓包后分析的分析工具:
  用wireshark,在Linux下  yum install -y wireshark

  抓包分析http请求:

    tshark -i eth0 (指定网卡)-n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

2.Selinux

  配置文件/etc/selinux/config 三种形式 :

    enforcing, permissive, disabled

  通常情况下,因为无需使用Selinux,因此我们会把它配置成SELINUX=disabled

  关闭Selinux的方法还有:

    setenforce 0(关)/1(开)

  获取当前Selinux的状态:

    getenforce

  如果没有getenforce命令 yum install -y libselinux-utils

3.netfilter------iptables

参考:http://www.cnblogs.com/bangerlee/archive/2013/02/27/2935422.html 常用iptables配置实例

    http://blog.chinaunix.net/uid-22780578-id-3346350.html?page=2  *iptables详解*

//////////////////////////////////////////////////////////////////////

12月16日补充

对于centOS 7 而言,默认使用的是firewall,这个是基于iptables的,但是虽然有iptables的核心,缺没有iptables-service的功能

因此,会出现没有找到诸如/etc/sysconfig/iptables文件,fail to restart iptables.service :Unit not found 等问题

那么,解决办法为 yum install -y iptables-services,问题解决

//////////////////////////////////////////////////////////////////////

(1)流程:

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

(2)五链三表:

  PREROUTING,INPUT,OUTPUT,FORWARD,POSTROUTING

  filter 这个表主要用于过滤包的,是系统预设的表,內建三个链:INPUT,OUTPUT以及FORWARD链的作用是在包刚刚到达防火墙时改变他的目的地址,如果需要的话,OUTPUT链改变本地产生的包的目的地址,POSTROUTING链在包就要离开防火墙之前改变其源地址

  nat 主要作用于修改数据包的TOS(Type Of Service,服务类型),TTL(Time Tolive ,生存周期)值以及为数据包设值MARK标记,以实现Qos(Quality of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。五个链:PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARD

  raw 对报文设置一个标志,决定数据包是否被状态跟踪机制处理,只有两个链:OUTPUT,PREROUTING

基本用法:

  iptables -nvL 查看规则
  iptables -F 清除当前规则
  iptables -Z 计数器清零
  service iptables save 保存规则,保存规则的文件为:/etc/sysconfig/iptables
  service iptables stop(可以停止默认策略) 可以暂停防火墙,但是重启后会读取/etc/sysconfig/iptables从而启动防火墙,另外即使我们停止防火墙,但一旦我们添加任何一条规则,也会开启
  iptables -t 指定表明,默认不加-t则是filter表

(3)iptable规则相关

  设定默认规则  iptables -P(policy) INPUT DROP 默认是ACCEPT,一旦设定为DROP之后,只能用iptable -P ACCEPT才能恢复

  查看规则   iptables -t nat -nvL(默认是-t filter表)
  清除规则   iptables -t nat -F(默认是-t filter表,不可以清空默认策略!!!!!!!)

  service iptables stop ,这个可以把默认策略删除

  增加/删除规则 iptables -A/-D INPUT(对于INPUT来说,source是源,destination是本地) -s(source) 10.72.11.12 -p tcp(指定协议-p tcp/icmp TCP还是UDP报文) --sport 1234 -d(destination) 10.72.137.159 --dport(destination port) 80 -j DROP

  插入规则 -iptables -I -s(指定IP) 1.1.1.1 -j DROP/ACCEPT/REJECT

  查看规则带有ID号  iptables -nvL --line-number 
  根据规则的ID号删除规则  iptables -D INPUT 1

  把计数器置零 iptables -Z

(4)规则备份与恢复
  service iptables save 这样会保存到/etc/sysconfig/iptables
  iptables-save > myipt.rule 可以把防火墙规则高存道指定文件中
  iptables-restore < myipt.rule 这样可以恢复指定的规则
  

(5)实例:
针对filter表,预设策略INPUT链DROP,其它两个链ACCEPT,然后针对192.168.0.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口,脚本如下:
  #!/bin/bash
  ipt="/sbin/iptables"
  $ipt -F; $ipt -P INPUT DROP;
  $ipt -P OUTPUT ACCEPT; $ipt -P FORWARD ACCEPT;
  $ipt -A INPUT -s 192.168.0.0 -p tcp --dport 22 -j ACCEPT;
  $ipt -A INPUT -p tcp --dport 80 -j ACCEPT;
  $ipt -A INPUT -p tcp --dport 21 -j ACCEPT;
  icmp的包常见的应用,本机ping通外网,外网ping不通本机:iptables -I INPUT -p icmp-type 8 -j DROP;

nat表应用:
  路由器就是使用iptables的nat原理实现
  假设你的机器上有两块网卡eth0,eth1,其中eth0的IP为192.168.10.11,eth1的IP为172.16.10.11,eth0连接了internet但是eth1没有连接,现在又另一台机器172.16.10.12和eth1是互通的,那么如何设置也能够让eth1的这台机器能够连接internet呢?
  echo "1"> /proc/sys/net/ipv4/ip_forward
  (这里的/proc/sys/net/ipv4/ip_forward文件,默认是0,意思为禁止数据包的转发,因此如果把它里面的内容置为1,则允许数据包的转发,用于有一张以上的网卡,但是重启服务器之后又会变为0,因此如果想自动执行,可以将该命令写入到脚本/etc/rc.d/rc.local中)

  iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -o eth0 -j MASQUERADE

三、Linux系统任务计划

(1)crontab
  /etc/crontab cron的主配置文件,可以定义PATH
  cron 的格式如下:
  #.-------------------分钟(0-59)
  #|.------------------小时(0-23)
  #||.-----------------日(1-31)
  #|||.----------------月(1-12)
  #||||.---------------周(0-6)(周日=0 or 7)
  #|||||
  #*****user-name command to be executed
  cron 也是一个服务,所以需咬先启动服务才能生效:service crond start;service crond status

任务计划练习题:
1.每天凌晨1点20分清楚/var/log/slow.log这个文件
////
命令行输入crontab -e(edit)
进去之后就是一个vim打开的文档,输入
20 1 * * * echo "" > /var/log/slow.log,然后保存

////

2.每周日3点执行“/bin/sh /usr/local/sbin/backup.sh”
////
0 3 * * 0 /bin/sh /usr/local/sbin/backup.sh
////

3.每月14号4点10分执行 "/bin/sh /usr/local/sbin/backup_month.sh"
////
10 4 14 * * /bin/sh /usr/local/sbin/backup_month.sh
////

4.每隔8小时执行 "ntpdate time.windows.com"
////
0 0,8,16(多个数值要用“,”)或者*/8 * * * ntpdate time.windows.com
////

5.每天的1点,12点,18点执行"/bin/sh /usr/local/sbin/.test.sh"
////
0 1,12,18 * * * /bin/sh /usr/local/sbin/.test.sh
////

6.每天的9点到18点执行"/bin/sh /usr/local/sbin/test.sh"
////
* 9-18,20-23(多个时间段,用,分割) * * * /bin/sh /usr/local/sbin/test.sh
////

http://www.cnblogs.com/juandx/archive/2015/11/24/4992465.html  这个帖子算是一点点拓展

7.每个月的第一个周六
* * 1-7 * 0,6

(2)anacron
  指定一天的某个时间段就会执行的cron
  在系统里面体现在哪里呢?
  /etc/anacrontab
  里面有三种cron,有daily,weekly,monthly

三、Linux系统相关

1.Linux系统服务管理
工具nssysv类似图形届满管理工具,
如果没有该命令使用yum install -y ntsysv 安装
常用服务:crond,iptables,network,sshd,syslog,irqbalance,sendmail,mircrocode_ctl
TAB键选中回车,按空格取消。如果不适用下面的命令的话,要reboot才可以生效
chkconfig --list 查看所有的服务列表
chkconfig --list servicename 查看某个服务的
chkconfig --add/del servicename
chkconfig --level [345] servicename on/off (这个level和启动级别有关!,如果不指定级别,全部开或者是全部关)

2.Linux系统日志
/etc/syslog.conf (http://www.lishiming.net/thread-7260-1-1.html)

如果是/etc/rsyslog.conf 的话那就是远程的

/var/log/messages 核心系统文件(经常要看他)

每周归档一个日志 messages-20130901
/etc/logrotate.conf
messages由syslog这个守护进程产生的,如果停掉这个服务的话,则系统不会产生/var/log/messages

last 输出的是最后登陆的信息(谁、从哪里、什么时间),如果要删除这个信息要怎么删掉呢??
那就要删掉这个文档/var/log/wtmp
/var/log/wtmp 查看用户登录历史

lastb 曾经登陆过的但是没有登录到的信息(针对暴力破解的)
/var/log/btmp 查看无效登录历史

/var/log/maillog
mailq 看看邮件有没有发出去

/var/log/secure 权限相关的

dmesg(很重要,硬件错误什么的)

还有一个东西是和dmesg相似的,但是不同,如下
/var/log/dmesg

3.几个和网络相关的命令

ping -c 10
telnet www.lishiming.net 80 测试端口连通性
traceroute www.baidu.com
dig @8.8.8.8 study.lishiming.net (要安装bind-ultis)
nc -z -w2 www.baidu.com 1-1024 # -w2 表示2s超时,这里可以只写一个端口,也可以写一个范围,使用nc扫描端口时,必须要加-z 否则不显示结果。另外,如果想把不开放的段哦口也显示出来,可以加一个-v(网络扫描器)

ss命令用法(和netstat类似的) http://www.ttlsa.com/linux-command/ss-replace-netstat/

4.用rsync实现远程文件同步与备份

在进入整体之前,先介绍一下rsync的优点

rsync可以把数据从这个服务器同步到另外一个服务器上面去
可以理解成拷贝
最大的优势是可以增量拷贝

而与之类似的scp也是用来拷贝的,拷贝到远程上去,也可以把本地文件拷贝到本地
scp -r(拷贝目录) a/ 192.168.1.12:/tmp/b/ 把a目录下的文件拷贝到b目录下去,默认是拷贝到对方的root
相当于scp -r a/ root@192.168.1.12:/tmp/b/

scp -r 192.168.1.12:/tmp/a/ ./a/ 从远程拷贝到本地

需要装上openssh-clients-5.3p1-94.e16.i686,就是scp

学上面这个是为了能够更好地理解!!!下面开始!!!
//////////////////////////////////////////////////////////////////////
1. rsync 命令格式
rsync [OPTION]... SRC DEST
rsync [OPTION]... SRC [USER@]HOST:DEST
rsync [OPTION]... [USER@]HOST:SRC DEST
rsync [OPTION]... [USER@]HOST::SRC DEST
rsync [OPTION]... SRC [USER@]HOST::DEST

rsync /tmp/1.txt /root/aming.txt 拷贝到本地(如果有这个文件,会增量拷贝)
什么时候会覆盖掉呢??如果只有时间不同,他又会怎么样呢?(只改变时间值)

譬如:
rsync /tmp/1.txt username@ip:/tmp/2.txt-----上传
rsync username@ip:/tmp/2.txt /tmp/1.txt-----下载
rsync /tmp/1.txt username@ip::模块名字/tmp/2.txt
rsync username@ip::模块名字/tmp/2.txt /tmp/1.txt

2.rsync常用选项
-a (这个是一定要带的)
  综合模式(包含了-r -v -l -p -t -g -o -D)
  归档模式,表示以归档方式传输文件,并且保持所有属性,等同于-rlptgoD,
  注意!!-a选项后面可以跟一个--no-OPTION
-a --no-l等同于不识别软链接,不等同于L

-r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是兖必须要加-r选项
-v 打印一些信息出来,比如速率,文件数量等
-I 保持软链接
-l 原封不动的吧软链接拷贝下来,原来指向哪里,他就指向哪里
-L (拷贝的就是指向的文件)向对待常规文件一样处理软链接,如果是SRC中有软链接文件,则加上该选项后会“把软连接指向的目标文件拷贝到DST”
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持设备文件信息
-t 保持文件时间信息
-z 传输过程中压缩,传输完毕后自动解压(他是以什么格式压缩的呢??课后自己研究一下)
-e 指定端口号,格式为-e "ssh -p 2200"

--delete 同步的时候,删除一些DST中SRC没有的文件

-u 加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖 (同步的时候,防覆盖选项,防止把新的东西覆盖了)
最常用的-a -v --delete --exclude

--exclude=PATTERN指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
(在tar里面也有--exclude filename,但是rsync里面的是要加=)
(如果要过滤多个,就写多个--exclude)
(排除目录,直接--exclude="dirname",不用加/)

--progress在同步过程中可以看到同步的过程状态,比如统计要同步的文件数量,同步的文件传输速度等等
-P 相当于--progress

--bwlimit 限速,单位为kB ,-- bwlimit=100

3.rsync选项讲解
rsync -av dir1/dir2/ #其中dir2/目录可以不存在,记得同步目录时一定要在末尾加上/
-a 会把软连接原原本本地拷贝过去,那有时候我们想拷贝源文件怎么办?这个时候就要用到-L
rsync -avL test1/test2/
-u 选项的作用是,如果目标文件比源文件新,则会忽略掉该文件
touch test2/1.txt;rsync -avu test1/test2/
rsync -av --delete test1/test2/ #这样会把test2/目录比test1/目录多出来的文件删除掉
rsync -a --exclude="2.txt" test1/test2/ #在同步过程中,会忽略掉2.txt这个文件
rsync -a --progress --exclude="*.txt" test1/test2/ # --progress显示同步过程的详细信息,--exclude后面也可以使用通配符号*

4. rsync应用实例 -ssh方式同步

rsync -avL test1/ www@192.168.0.101:/tmp/test2/ 推

指定端口号 -e
rsync -avL -e "ssh -p 2200" 192.168.0.101:/tmp/test2/ /test3/ 拉(但是这个方法需要输入密码,不适合写到脚本里面)
由于需要输入密码所以不适合写到脚本中,但是而已通过创建密钥对,让两台机器产生信任关系从而不用输入密码
如果ssh端口不是22,那么需要写成这样的形式:rsync av "--rsh=ssh -p port" /dir1/ 192.168.0.101:/tmp/dir2/
因此,我们需要秘钥认证,看

////////////////////////生成秘钥////////////////////////////////////
ssh-keygen
我们的公钥私钥文件在 .ssh/id_rsa.pub,cat查看
然后把这个公钥放到对方的机子上面的.ssh/authorized_keys去
按小i添加,保存
然后修改权限600,关闭Selinux,setenforce 0

5.rsync应用实例 - daemon方式
在对方机器上,把它作为一个服务端,只要写一个
配置文件/etc/rsyncd.conf,内容如下:

#port=873 #监听端口默认为873,也可以是别的端口
log file=/var/log/rsync.log #指定日志
pid file=/var/run/rsyncd.pid #指定pid
#address=192.168.0.10 #可以定义绑定的ip
#以上部分为全局配置部分,以下为模板内的配置
[test] #模板名,自定义,这test相当于是路径/root/rsync
path=/root/rsync #指定该模块对应在那个目录下
use chroot=true #是否限定在改目录下,默认为true,但有软连接的时候需要改为false
max connections=4 #指定最大的可连接客户端数
read only=no #是否为只读,如果是yes,客户端就推不到服务器上了
list=true #是否可以列出模块名,通过rsync 192.168.0.110::可以看到
uid=root #以哪个用户的身份来传输
gid=root #以哪个组的身份来
传输
#auth users=test #指定验证用户名,可以不设置,那密码在哪里呢,下面

#secrets file=/etc/rsyncd.passwd #指定密码文件,如果设定验证用户,这一项必须设置
hosts allow=192.168.0.101 #设定可以允许访问的主机,可以是网段
密码文件/etc/rsync.passwd的内容格式为:username:password,然后改权限600

如果写脚本的话
rsync -av --password-file=/etc/pass.txt 3.txt test@192.168.31.112::test/6.txt
chmod 600 /etc/pass.txt

通常情况下不指定密码文件

启动服务的命令是:rsync --daemon
默认去使用/etc/rsyncd.conf这个配置文件
也可以指定配置文件rsync -daemon --config/etc/rsyncd2.conf

可以使用的选项有: rsync --daemon --help

配置文件中几个测试点可以自己尝试一下修改会有哪些不同:

  port,use chroot, log file, secrets file ,host allow ,list

////////////////////////////////////////////////////////////////////////
Linux日常管理拓展
1.tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html
2.iptables应用在一个网段:http://www.aminglinux.com/bbs/thread-177-1-1.html
3.iptables中sant,dant,masquerade http://www.dabu.info/iptables-dnat-and-snat-in-understanding.html
4.iptables实现centos内网访问外网 http://www.aminglinux.com/bbs/thread-3624-1-1.html
5.iptables实现内网ftp对外映射 http://www.aminglinux.com/bbs/thread-1003-1-1.html
6.iptables限制syn速率 http://www.aminglinux.com/bbs/thread-985-1-1.html
7.selinux教程 http://ios.51cto.com/art/201209/355490.htm
8.selinux pdf电子书 http://pan.baidu.com/s/1jGGdExk

1.xinetd服务(默认机器没有安装这个服务,需要yum install xinetd安装)
http://blog.sina.con.cn/s/blog_465bbe6b010000vl.html
2.xargs命令 http://blog.csdn.net/zhangfn2011/article/details/6776925

1.rsync错误二则、排错过程及解决办法: http//www.aminglinux.com/bbs/thread-7812-1-1.html
2.rsync 服务 多个配置文件出错等,快来围观啊(哈?这是什么鬼) http://www.aminglinux.com/bbs/thread-6989-1-1.html
3.rsync 只同步指定类型文件 http://www.aminglinux.com/bbs/thread-6676-1-1.html
4.rsync 如何在远程自动创建某 http://www.aminglinux.com/bbs/thread-1047-1-1.html
5.rsync 根据一个文件列表文档来同步 http://www.aminglinux.com/bbs/thread-1024-1-1.html

http://www.cnblogs.com/Anker/p/3271773.html 孤儿进程和僵尸进程

【CentOS】Linux日常管理的更多相关文章

  1. linux日常管理-curl工具

    curl 在linux命令行中用于访问网站,下载东西, 可以用 curl www.qq.com 访问 出现很多源代码 ///////////////////////////////////////// ...

  2. linux日常管理-linux日志

    通过系统日志获得相关信息,出现错误,突发情况可以通过查看日志获得有用的信息.遇到故障,看日志是最常用的方法,在日常工作中一定要养成看日志的习惯. 最核心的日志在这个目录下 日志会无限生成,占用的内存会 ...

  3. linux日常管理

    1.压缩和解压 tar压缩tar -czf hxl_product.tar.gz ./product tar解压tar -xzvf hxl_app.tar.gz z选项会将该压缩文件直接解压到目录,要 ...

  4. linux日常管理-rsync后台服务方式-2

    把本地的数据拷贝到远程 这里是个错误,read only.只允许读,不允许写. 改一下远程机器的配置文件 把read only改为no 拷贝到远程成功 tree一下远程机器的目录 ////////// ...

  5. linux日常管理-rsync后台服务方式-1

    rsync的另外一种方式,写一个配置文件,放在etc下,通过一个命令启动他,它会监听一个端口,在客户端和服务端进行通信. 远程机器的配置文件 IP是192.168.1.117 配置文件的名字,写成这个 ...

  6. linux日常管理-rsync_ssh方式

    现在我们有两台机器,两台机器都需要安装rsync    yum -y install rsync       一台的主机名是wangshaojun IP是192.168.1.117 ,另一台的主机名是 ...

  7. linux日常管理-rsync常用选项详解

    -av 同步目录 写法 123/   /tmp/333/ 意思是把123下的文件同步到/tmp/333/下  结尾不加/ 只同步目录 两个目录一样的. //////////////////////// ...

  8. linux日常管理-rsync格式

    rsync支持网络到本地,本地到网络,本地到本地拷贝数据,支持增量拷贝.用作备份. man rsync rsync的两大用法.一种是通过shell,一种是deamon. shell  pull远程机器 ...

  9. linux日常管理-screen

    假如一个任务要执行好几天,为了防止中途中断的情况, 在让后台运行的命令后面加一个 nohup会生成一个 .nohup.out文件,会搜集在运行过程中所产生的日志. 比直接后台运行任务的好处是,万一断电 ...

随机推荐

  1. coreseek增量索引

    1.在多数情况下,因为Coreseek索引速度高达10MB/s,所以只需要创建一个索引源即可满足需求,但是在数据量随时激增的大型应用中(如SNS.评论系统等),单一的索引源将会给indexer造成极大 ...

  2. 【转】PHP网站(nginx、php-fpm、mysql) 用户权限解析

    这篇文章我们就特别来讲解下,nginx.php-fpm 以及 mysql 运行在各个用户下的配置. 先来做个说明:nginx本身不能处理PHP,它只是个web服务器.当接收到客户端请求后,如果是php ...

  3. Dijkstra 算法

    all the nodes should be carectorized into three groups: (visited, front, unknown) we should pay spec ...

  4. iOS中assign,copy,retain之间的区别以及weak和strong的区别

    @property (nonatomic, assign) NSString *title; 什么是assign,copy,retain之间的区别? assign: 简单赋值,不更改索引计数(Refe ...

  5. springmvc拦截器验证登录时间

    在前一篇[Filter实现用户名验证]的随笔里,记录了如何使用filter 这次增加了拦截器实现 ①filter实现用户登陆时验证用户名是否为null ②interceptor实现用户登陆时时间判断, ...

  6. Angular.js中使用$watch监听模型变化

    $watch简单使用 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEqua ...

  7. Go简介

    Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go ...

  8. C#接口的作用(经典)

    C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就 ...

  9. 第18讲——ActiveX控件

    1,容器应用程序是可以嵌入或链接对象的应用程序.服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序. 2,可以安装一个TstCon32来测试ActiveX控件 3,可以用 Invalid ...

  10. Bing Test -必应每日壁纸自动换

    今天向大家推荐一个桌面美化类的工具,没错就是自动更换壁纸,而且是精美的必应每日壁纸哦!绿色小巧,开机自启动,设置后每日自动更新你的桌面~ 软件名称:Bing Test 链接: http://pan.b ...