在Linux上,有多种方式让不安份的用户无法登录。
1.修改用户配置文件/etc/shadow,将第二栏设置为“*”,如下。那么该用户就无法登录。但是使用这种方式会导致该用户的密码丢失,也就是当你再次允许他登录的时候,你还得让他重新设置密码。[再次启用这个帐号的方法是把“*”去掉就可以了]
2.使用命令usermod
这个方式简单又实用,而且没有1中的副作用。
usermod -U dduyoung ##Unlock 帐号dduyoung
3.通过修改shell类型
这种方式会更加人性化一点,因为你不仅可以禁止用户登录,还可以告诉他你这么做的原因。如下:
###############
##修改/etc/nologin.txt(没有就新建一个),
##在里面添加给被禁止用户的提示
###############
#解禁用户的方式就是把shell改为他原有的就可以了。
4.禁止所有的用户登录
当你(如果你是系统管理员)不想让所有用户登录时(比如你要维护系统升级什么的),如果按上面的方式,一个一个地去禁止用户登录,这将是很……无聊的事。而且还容易出错。下面有一种简洁有效的方式:
touch /etc/nologin ##如果该文件存在,那么Linux上的所有用户(除了root以外)都无法登录
##在/etc/nologin(注意:这可不是3中的nologin.txt啊!)写点什么,告诉用户为何无法登录
#################
cat /etc/nologin
9:00-10:00 系统升级,所有用户都禁止登录!
##解禁帐号也简单,直接将/etc/nologin删除就行了
近日根据公司要求需要在所有的linux服务器上做时间同步,时间服务器为内网的一台机器。
使用crontab -e后键入如下命令保存:
*/30 * * * * ntpdate 210.32.1.123
过了一天后发现系统提示有新的mail
打开后发现好多邮件都提示执行这个定时任务的时候提示找不到此命令。
经过查看资料得知,原来定时任务是需要绝对路径才可以执行的。
用find / -name ntpdate找到ntpdate所在的目录为/usr/sbin
故此修改命令如下:
*/30 * * * * /usr/sbin/ntpdate 210.32.1.123
这样写好后再次执行定时任务,任务运行正常了~~~~
调整Tomcat的并发线程数到5000+
1. 调整server.xml的配置
先调整maxThreads的数值,在未调整任何参数之前,默认的并发线程可以达到40。
调整此项后可以达到1800左右。
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxThreads="32000" />再试试使用非阻塞的库。
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxThreads="32000" protocol="org.apache.coyote.http11.Http11NioProtocol" />结果和不使用非阻塞的库差不多。
线程数在2000左右。
2.调整用户打开的文件数限制
ulimit -n 32768调整后,线程数增加到了5900左右。
3.减少缓冲区大小到1024
... maxThreads="32000" socket.appReadBufSize="1024" socket.appWriteBufSize="1024" bufferSize="1024" ...
无效果
综合来看,还是达不到10000并发。下次增加内存再试试。
当前的内存配置是1024M。
参考:
http://blog.krecan.net/2010/05/02/cool-tomcat-is-able-to-handle-more-than-13000-concurrent-connections/