• Monthly Archives: 6月 2013

让scroll事件在滚动条停止时响应

用过scroll事件的人都知道,在每次拖动滚动条的时候会相应的事件会相应多次,而在大多数情况下我们都只希望它在滚动条停止滚动的时候 响应。经过多次测试,终于发现了一个比较好的解决方案,那就是通过setTimeout,给scroll加个延迟。例如用jQuery为页面加入 scroll事件,可以这样写:

var timeout = false; 
    $(window).scroll(function(){ 
        if (timeout){clearTimeout(timeout);} 
        timeout = setTimeout(function(){ 
            //do something
    },100);
});

 

CentOS 6 时间,时区,设置修改及时间同步

显示时区
date –help 获取帮助
date -R
date +%z
上面两个命令都可
[root@localhost ~]# date -R; date +%z
Fri, 19 Oct 2012 23:34:27 +0800
+0800

主要就是后面的+0800,东八区

修改时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

时区的信息存在/usr/share/zoneinfo/下面,本机的时区信息存在/etc/localtime,利用tab键技巧,可以任意修改时区
tzselect,互动式命令,不过用了好象不太行,还是用上面的吧。

二、时间
概念:Linux时间有两个
系统时间:也叫软件时间(sys), 1970年1月1日到当前时间的秒数
BOIS时间:也叫硬件时间(hc)
显示时间
[root@localhost ~]# date;hwclock -r
2012年 10月 19日 星期五 23:39:44 CST
2012年10月19日 星期五 23时39分45秒  -0.317993 seconds

设置时间
1、date -s
[root@localhost ~]# date;hwclock -r
2012年 10月 19日 星期五 23:39:44 CST
2012年10月19日 星期五 23时39分45秒  -0.317993 seconds

没有网络的情况下可以用这个
date -s 20121019
date -s 23:40:00

2、ntpdate
ntpdate time.windows.com && hwclock -w
连网更新时间,如果成功,将系统时间,写入BOIS
hwclock -w 或 hwclock –systohc
可以做到crontab里

3、启动ntpd服务,开启后2就不能用了。
先用ntpdate更新一下,确保时间不至于差别太大
rpm -qa | grep ntp #查询一下可安装了
chkconfig –list | grep ntp #看下服务情况
chkconifg ntpd on
service ntpd start 或/etc/init.d/ntpd start
必要的话,设置一下/etc/ntp.conf,再把服务reload一下。
ntp的知识参考一下鸟哥的服务器篇

延安城管暴力对待美利达占道一事,客观发表一下自己的意见.

无意中看到视频, 最初看到还是很平和的,

一开始我还没看到后面的时候先看到了评论老是骂,

心里想, 是不是又是那些断章取义的视频又或者只会隔岸观火的无知网友在评论..?

直到3分02秒, 我惊呆了,

城管的行为, 实在太夸张了.. 那完全不是一个正常人能做得出的行为..!

后来根据视频提供的线索搜索, 找到了几篇关联的文章, 自己看…

http://www.pingxiaow.com/gundong/index.php?m=content&c=index&a=show&catid=7&id=43863&page=1000

http://roll.sohu.com/20130610/n378548929.shtml

或者大家直接搜索”延安城管”.

发表一下我的看法:

城管有存在的必要, 他们维护城市的环境是应该的,

谁也不愿意看到自己生活在一个脏乱差的环境当中,

所以合理整治很重要.

之前看过很多视频, 大家只要看到城管的视频就骂, 不动脑袋开口就骂,不站在客观的角度去思考, 完全就是种sb行为,  这也是目前绝大部分网友的脑残表现, 所以我的第一反应是会不会又是那些断章取义的视频..?

直到我看到3分02秒的时候, 我就什么都明白了.

在这个视频中, 那个胖城管被解释为临时工, 估计也是了.

正常来说, 只要有文化的人, 绝对不会做出这样的双腿飞蹬的行为,

因为只要学过数理化, 人很正常会意识到这一行为是会致命的, 不管你的借口是在非常愤怒的情况之下, 很明显那是一个小混混的行为.

可想而知, 没文化, 真可怕.

无论怎样, 那样的城管行为绝对是不可取的, 希望是个别, 而且希望zf能够负责任一点, 不要老把责任推卸到临时工身上, 因为毕竟人事你挑选并且聘用回来的, 这个责任, 你怎样推也是推卸不了的.

最后补充一句: 适当的打人是可以的, 也是可以理解的, 但是视频中的那一脚, 是任何人都不能够原谅的.

在vps上搭建linux+apache+wordpress,解决内存占用无限大的问题.

本来我的服务器上就只有 linux+mysql+lighttpd+tomcat,

后来因为想搭建个自己的博客, 所以在服务器中装上了apache+php.

在此之前, 我768mb内存只占用400+M而已, 后来成功装上了wordpress后,

发现内存占用异常的高, 服务器的内存都没了, 甚至影响到运行在tomcat容器上的客户网站运作

后来经过各种排除, 得出 wordpress 运作的情况之下, 每次刷新wordpress, 内存就增加10-20MB, 直到爆满.

后来搜索各种资料, 在wordpress群里还被人笑我的垃圾openVPS的服务器, 说啥的什么xen之类的啦, 说我的垃圾还把问题赖在wordpress上.

总之, 凭着一贯解决问题的经验告诉我, 不会是这个原因.

中间很多经历省略, 反正最终找到原因是apache的配置问题,

我的apache2.4默认配置文件中没有限制MaxConnectionsPerChild导致的,

于是在conf.cfg中添加 MaxConnectionsPerChild = 10 后发现问题解决了.

当然, MaxConnectionsPerChild 要根据个人的需要而设定,

反正我 MaxConnectionsPerChild = 100 的时候, apache的内存就占200多M…

自己看着办吧…

后来我再在群上说不是那个笑我的vps的人所说的问题, 原来只是 MaxConnectionsPerChild 没有限制而已, 那个当事人立刻哑口无言…

另外说一下题外话:

我一贯都不喜欢一些人, 总以为自己懂得很多, 然后就妄下定论并把自己定位的高高在上.

反正我做人是这样, 想问题, 必须充分考虑各种可能性, 不在自己不清楚具体状况的时候妄下定论, 这种情况下, 其实多加几个字 “在我的认知下” 会看得出一个人平时思考的深度, 当然, 装逼的除外.

mysql无法启动,提示”ERROR! The server quit without updating PID file (/var/lib/mysql/sway.pro.pid).”

某次重启后, 发现再也不能启动mysql服务器了.

使用 service mysql restart 指令, 却提示:

[root@sway ~]# service mysql restart
ERROR! MySQL server PID file could not be found!
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/sway.pro.pid).

回想了一下刚刚的操作, 我曾经不小心把在系统根目录使用的递归权限设置指令 chown -R virtual / , 致使出现了一连串的问题(本来我是想添加所有文件夹的修改权限给virtual的,没想到是全部改成了权限只属于virtual一人了), 当我重新使用 chown -R root / 指令后, 发现基本恢复正常了. 后来经历了一次重启, 发现我服务器的网站提示数据库连接出错, 于是上网搜索了一堆资料, 一开始还以为是什么僵尸进程导致的, 后来继续找, 发现是权限问题, 估计是mysql丢失了原本是属于他的文件权限了.

使用这个指令”chown -R mysql.mysql /var/lib/mysql”后, 再使用  service mysql start 指令, 一切正常..!

以下是我找到的原文记录:

现在又进行了如下操作:
mkdir /var/lib/mysql
chown -R mysql.mysql /var/lib/mysql

然后再运行mysqld_safe --user=mysql &

发现还是错误,立马进入/var/lib/mysql进行查看,发现文件夹里面的文件,不是lib文件,而是mysql数据库
发现问题,立马在mysqld_safe后面加上--basedir和--datadir目录,结果可以运行,而且一切正常

后修改mysql服务启动文件,修改basedir和datadir,结果启动发现sock出错。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

目前继续排错中。。。。

一到公司运行
/usr/local/mysql/bin/mysqld_safe --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql &
发现又出现错误了,NND

出自于: http://forum.ubuntu.org.cn/viewtopic.php?t=333605

修改文件目录的权限(chown chgrp)

linux下,每一个文件、每一个目录都有一个属主,并针对用户自己、用户所在组、其它所有帐号(组)分别设定读、写、执行三种权限。例如,我(假定是webusers组的floatboat帐户的拥有者)使用如下命令建立一个新的文件 touch mytestfile
然后我们使用ls -l mytestfile这一命令来查看这个文件的权限状态(关于ls命令,可以查阅本站的命令查询),可以得到如下的屏幕输出显示:
-rw-rw-r– 1 floatboat webusers 0 Feb 6 21:37 mytestfile
输出由空格分为9个部分,我们比较关心第一、三、四个字段,分别表示文件权限属性、文件所有者帐户、文件所属组。
◆使用chown命令修改文件的主人
当你新建立一个文件的时候,文件的所有者当然就是你了。这一事实只有超级用户(比如说root)才可以通过chown命令改变(例如 chown otheruser mytestfile,把mytestfile文件的属主改为otheruser)。普通用户不能把自己的文件“送”给别人,不然你把有特殊目的的程序给了root怎么办?:)
chown命令的用法比较简单。这里我先假设你现在拥有超级用户权限,那么你就可以使用如下命令将一个文件“送给”floatboat了:
chown floatboat /home/floatboat/thefileisrootcreate.txt (假定该文件是由root创建的)
修改一个目录的所有者也是类似的:
chown floatboat /home/newboat
当然,如果这个目录还有子目录及文件需要同时送给floatboat,chown也是支持-R参数的:
chown -R floatboat /home/newboat
如果你同时想修改文件/目录所属的组的话,你可以使用以下命令方便的达到目的:
chown -R floatboat.ftpusers /home/newboat
这样,不但文件主人得到了修改,文件所属的组也变成了ftpusers
◆ 修改文件的组属性
文件所属组你倒是可以改变,前提是:
1、你的超级用户。
2、你同时属于两个或两个以上的组。
两个条件你至少具备一个,你才能够把文件所属旧组变为新组。使用如下的命令将当前目录下所有html文件所属的组改为httpd:
chgrp httpd *.html
和chown命令一样,chgrp也可以使用-R参数对一个目录内的所有文件和子目录进行递归的修改组属性。
:你可以使用不带参数的groups命令查看自己属于哪个组。

vsftp 虚拟账户的 site chmod 的启用

vsftp中使用了虚拟账户,但在默认配置下虚拟账户没有site chmod的使用权限,总是报550 Permission denied 。
让vsftp虚拟用户拥有site chmod的权限的方法是:
1、让vsftp的本地用户(我的是vsuer)拥有文件的目录。

2、修改vsftpd.conf配置文件

guest_enable=YES #允许guest以vuser访问

guest_username=vsuer #允许映射到vuser

virtual_use_local_privs=YES #虚拟用户与vuser 有相同权限

另外可能还需要开启chmod,当然,它是默认开启的。
chmod_enable=YES

chkconfig命令详解

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

使用语法:
chkconfig [–add][–del][–list][系统服务] 或 chkconfig [–level <等级代号>][系统服务][on/off/reset]

chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。

参数用法:
–add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
–del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
–level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

chkconfig –list [name]:显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
chkconfig –add name:增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。
chkconfig –del name:删除服务,并把相关符号连接从/etc/rc[0-6].d删除。
chkconfig [–level levels] name:设置某一服务在指定的运行级是被启动,停止还是重置。

运行级文件:
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 – 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.

使用范例:
chkconfig –list #列出所有的系统服务
chkconfig –add httpd #增加httpd服务
chkconfig –del httpd #删除httpd服务
chkconfig –level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig –list #列出系统所有的服务启动情况
chkconfig –list mysqld #列出mysqld服务设置情况
chkconfig –level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,–level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级

如何增加一个服务:
1.服务脚本必须存放在/etc/ini.d/目录下;
2.chkconfig –add servicename
在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;
3.chkconfig –level 35 mysqld on
修改服务的默认启动等级。

在centOS让mysql打开(取消)开机启动

通过yum安装MySQL后,默认开机时不会自动启动,需要手动设置MySQL让它开机自启动。

首先通过chkconfig命令看看MySQL在不在可管理的列表中,命令是:

chkconfig –list

如果列表中没有mysqld这个,需要先用这个命令添加:

chkconfig add mysqld

然后用这个命令设置开机启动:

chkconfig mysqld on

最后确认一下是否设置成功,如图:

crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
jexec           0:on    1:on    2:on    3:on    4:on    5:on    6:on
modules_dep     0:off   1:off   2:on    3:on    4:on    5:on    6:off
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
netfs           0:off   1:off   2:off   3:off   4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nmb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
nscd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
portreserve     0:off   1:off   2:on    3:off   4:on    5:on    6:off
quota_nld       0:off   1:off   2:off   3:off   4:off   5:off   6:off
rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
rpcbind         0:off   1:off   2:on    3:off   4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
saslauthd       0:off   1:off   2:off   3:on    4:off   5:off   6:off
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
snmpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off
snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:off   4:on    5:on    6:off
vsftpd          0:off   1:off   2:off   3:on    4:off   5:on    6:off
xinetd          0:off   1:off   2:off   3:on    4:on    5:on    6:off

如果对应mysqld对应的6项中有3项是on就证明已经设置成功。

close