【CentOS】Linux日常管理
/////////////////////////目录/////////////////////////////////////////
一、日常监控指标相关
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日常管理的更多相关文章
- linux日常管理-curl工具
curl 在linux命令行中用于访问网站,下载东西, 可以用 curl www.qq.com 访问 出现很多源代码 ///////////////////////////////////////// ...
- linux日常管理-linux日志
通过系统日志获得相关信息,出现错误,突发情况可以通过查看日志获得有用的信息.遇到故障,看日志是最常用的方法,在日常工作中一定要养成看日志的习惯. 最核心的日志在这个目录下 日志会无限生成,占用的内存会 ...
- linux日常管理
1.压缩和解压 tar压缩tar -czf hxl_product.tar.gz ./product tar解压tar -xzvf hxl_app.tar.gz z选项会将该压缩文件直接解压到目录,要 ...
- linux日常管理-rsync后台服务方式-2
把本地的数据拷贝到远程 这里是个错误,read only.只允许读,不允许写. 改一下远程机器的配置文件 把read only改为no 拷贝到远程成功 tree一下远程机器的目录 ////////// ...
- linux日常管理-rsync后台服务方式-1
rsync的另外一种方式,写一个配置文件,放在etc下,通过一个命令启动他,它会监听一个端口,在客户端和服务端进行通信. 远程机器的配置文件 IP是192.168.1.117 配置文件的名字,写成这个 ...
- linux日常管理-rsync_ssh方式
现在我们有两台机器,两台机器都需要安装rsync yum -y install rsync 一台的主机名是wangshaojun IP是192.168.1.117 ,另一台的主机名是 ...
- linux日常管理-rsync常用选项详解
-av 同步目录 写法 123/ /tmp/333/ 意思是把123下的文件同步到/tmp/333/下 结尾不加/ 只同步目录 两个目录一样的. //////////////////////// ...
- linux日常管理-rsync格式
rsync支持网络到本地,本地到网络,本地到本地拷贝数据,支持增量拷贝.用作备份. man rsync rsync的两大用法.一种是通过shell,一种是deamon. shell pull远程机器 ...
- linux日常管理-screen
假如一个任务要执行好几天,为了防止中途中断的情况, 在让后台运行的命令后面加一个 nohup会生成一个 .nohup.out文件,会搜集在运行过程中所产生的日志. 比直接后台运行任务的好处是,万一断电 ...
随机推荐
- coreseek增量索引
1.在多数情况下,因为Coreseek索引速度高达10MB/s,所以只需要创建一个索引源即可满足需求,但是在数据量随时激增的大型应用中(如SNS.评论系统等),单一的索引源将会给indexer造成极大 ...
- 【转】PHP网站(nginx、php-fpm、mysql) 用户权限解析
这篇文章我们就特别来讲解下,nginx.php-fpm 以及 mysql 运行在各个用户下的配置. 先来做个说明:nginx本身不能处理PHP,它只是个web服务器.当接收到客户端请求后,如果是php ...
- Dijkstra 算法
all the nodes should be carectorized into three groups: (visited, front, unknown) we should pay spec ...
- iOS中assign,copy,retain之间的区别以及weak和strong的区别
@property (nonatomic, assign) NSString *title; 什么是assign,copy,retain之间的区别? assign: 简单赋值,不更改索引计数(Refe ...
- springmvc拦截器验证登录时间
在前一篇[Filter实现用户名验证]的随笔里,记录了如何使用filter 这次增加了拦截器实现 ①filter实现用户登陆时验证用户名是否为null ②interceptor实现用户登陆时时间判断, ...
- Angular.js中使用$watch监听模型变化
$watch简单使用 $watch是一个scope函数,用于监听模型变化,当你的模型部分发生变化时它会通知你. $watch(watchExpression, listener, objectEqua ...
- Go简介
Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go ...
- C#接口的作用(经典)
C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就 ...
- 第18讲——ActiveX控件
1,容器应用程序是可以嵌入或链接对象的应用程序.服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序. 2,可以安装一个TstCon32来测试ActiveX控件 3,可以用 Invalid ...
- Bing Test -必应每日壁纸自动换
今天向大家推荐一个桌面美化类的工具,没错就是自动更换壁纸,而且是精美的必应每日壁纸哦!绿色小巧,开机自启动,设置后每日自动更新你的桌面~ 软件名称:Bing Test 链接: http://pan.b ...