【Linux】Linux统计文件夹、文件数量的命令

# 查看当前目录下的文件数量(不包含子目录中的文件) ls -l|grep "^-"| wc -l # 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录 ls -lR|grep "^-"| wc -l # 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R ls -l|grep "^d"| wc -l # 查询当前路径下的指定前缀名的目录下的所有文件数量 # 例如:统计所有以“20161124”开头的目录下的全部文件数量 ls -lR 20161124*/|grep "^-"|…

Continue Reading【Linux】Linux统计文件夹、文件数量的命令

kubernetes—CentOS7安装kubernetes1.11.2图文完整版

转载请注明出处:kubernetes—CentOS7安装kubernetes1.11.2图文完整版 架构规划 k8s至少需要一个master和一个node才能组成一个可用集群。 本章我们搭建一个master节点和三个node节点。 我们在生产环境中使用时k8s时可以适当增加节点。 我们有三台服务器,ip和身份规划如下: 192.168.11.90 master node 192.168.11.91 node 192.168.11.92 node 192.168.11.90即作master节点又作node节点。 三台服务器都是CentOS7系统。 注意:Kubernetes 几乎所有的安装组件和 Docker 镜像都放在 goolge 自己的网站上,这对国内的同学可能是个不小的障碍。建议是:网络障碍都必须想办法克服,不然连 Kubernetes 的门都进不了。 设置主机名 分别使用hostname命令把主机名称设置为k8s,k8s1,k8s2 hostname k8s hostname k8s1 hostname…

Continue Readingkubernetes—CentOS7安装kubernetes1.11.2图文完整版

Linux系统通过fail2ban对暴力破解进行防护

摘要: 暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。攻击者会经常使用自动化脚本工具组合出正确的用户名和密码。 针对这种攻击除了常规性的调整服务器的设置账号密码的复杂度,以及调整默认端口外等方式提升攻击难度外,还可以通过开源工具fail2ban来进行设置防护规则来提高防护能力。 暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。攻击者会经常使用自动化脚本工具组合出正确的用户名和密码。 针对这种攻击除了常规性的调整服务器的设置账号密码的复杂度,以及调整默认端口外等方式提升攻击难度外,还可以通过开源工具fail2ban来进行设置防护规则来提高防护能力。 首先简单说一下服务器的基础防护设置 1、密码要满足复杂性要求 a.密码长度要求8位以上,最好是14位以上 b.密码要求至少包含大小写字母、数字和特殊符号四种字符中的三种以上 2、修改ssh程序默认的远程端口号 这一点可以通过调整 /etc/ssh/sshd_config 文件中的Port 参数来实现 修改了端口号之后远程工具进行连接时需要指定端口号才可以正常连接,通过ssh命令连接时需要通过-p参数指定端口号 3、修改默认的管理员账号 a.先对默认的root账号进行禁用(注意:阿里云控制台上的密码重置功能只对默认的root账号生效,如果做了此操作后后期是不能使用阿里云控制台的密码重置功能的),禁用方法直接修改root用户的登陆shell为 /sbin/nologin 即可。 b.创建新的用户名,作为管理员账号,Linux系统判定管理员账号的方法是可以通过UID实现的,默认UID为0的用户是管理员,所以只需要创建用户后,在passwd文件中把用户UID改为0即可 创建用户,并设置密码,以及最终的修改效果,可以参考下图,通过id命令查询结果可以看到新建的用户权限是root权限 通过上述方式的设置,是可以提升服务器针对暴力破解的防护能力的,设置之后基本上黑客想要暴力成功是很困难的。 但是如果暴力破解的情况很严重,虽然经过上述设置后,黑客很难暴力破解成功,但是由于暴力破解时服务器需要不断的对用户登录进行认证,也会导致服务器产生很多额外的开销,进而影响服务器的资源负载状况。 针对这种情况,可以考虑通过开源工具fail2ban监视日志情况将满足动作的相关IP利用iptables加入到dorp列表一定时间。 注意:这种方法如果手动重启了iptables服务的话,所有的drop规则会失效。 1、到fail2ban官网下载程序源码包 官网地址http://www.fail2ban.org 由于是海外站点,所以下载速度上可能比较慢,本文中通过稳定版fail2ban-0.8.14做演示,具体的下载地址 https://codeload.github.com/fail2ban/fail2ban/tar.gz/0.8.14 2、下载好的程序是源码包的形式,需要手动进行编译安装 这个程序是通过python语言编写的,需要通过python命令安装,要求python版本不能低于2.4 ,具体的python版本情况可以在系统中执行python…

Continue ReadingLinux系统通过fail2ban对暴力破解进行防护

经验分享之在CentOS 7上搭建SVN服务器

安装步骤 这一系列的操作将在软件Xshell中进行。 1、下载安装SVN版本  yum install subversion 2、查看安装版本  svnserve --version 3、创建SVN版本库目录  mkdir -p /var/svn/svnrepos 4、创建版本库  svnadmin create /var/svn/svnrepos 执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件:conf db format hooks locks README.txt 5、进入conf目录(进行版本库配置) cd conf authz:文件是权限控制文件 passwd:是帐号密码文件 svnserve.conf :SVN服务配置文件…

Continue Reading经验分享之在CentOS 7上搭建SVN服务器

CentOS 7 安装中文字体

JAVA画图时常用到Font 类对象 这样的对象依赖于本地的字段。新装的linux没有安装字段库,和相应的字体。 1、fc-list 查看字体库 发现没有安装 2、yum -y install fontconfig 安装 3、安装好后/usr/share目录下多两个目录 fonts 和 fontconfig 4、首先在 /usr/share/fonts 目录下新建一个目录 chinese 5、到C:\Windows\Fonts目录下上传你需要的字体到 /usr/share/fonts/chinese 目录下 6、修改chinese权限 chmod -R 755 /usr/share/fonts/chinese 7、接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令: yum -y…

Continue ReadingCentOS 7 安装中文字体

java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结

常见配置举例  堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制.32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制.我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m. 典型设置: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -Xmx3550m:设置JVM最大可用内存为3550M. -Xms3550m:设置JVM促使内存为3550m.此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存. -Xmn2g:设置年轻代大小为2G.整个堆大小=年轻代大小 + 年老代大小 + 持久代大小.持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小.此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8. -Xss128k: 设置每个线程的堆栈大小.JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K.更具应用的线程所需内存大小进行 调整.在相同物理内存下,减小这个值能生成更多的线程.但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右. java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4…

Continue Readingjava jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结

JVM内存设置多大合适?Xmx和Xmn如何设置?

问题: 新上线一个java服务,或者是RPC或者是WEB站点, 内存的设置该怎么设置呢?设置成多大比较合适,既不浪费内存,又不影响性能呢?   分析: 依据的原则是根据Java Performance里面的推荐公式来进行设置。   具体来讲: Java整个堆大小设置,Xmx 和 Xms设置为老年代存活对象的3-4倍,即FullGC之后的老年代内存占用的3-4倍 永久代 PermSize和MaxPermSize设置为老年代存活对象的1.2-1.5倍。 年轻代Xmn的设置为老年代存活对象的1-1.5倍。 老年代的内存大小设置为老年代存活对象的2-3倍。   BTW:      1、Sun官方建议年轻代的大小为整个堆的3/8左右, 所以按照上述设置的方式,基本符合Sun的建议。       2、堆大小=年轻代大小+年老代大小, 即xmx=xmn+老年代大小 。 Permsize不影响堆大小。    …

Continue ReadingJVM内存设置多大合适?Xmx和Xmn如何设置?

nginx应用总结(2)–突破高并发的性能优化

在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题。今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经验而述,如有不妥,敬请指出~) 一、这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项:1)nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数。worker_processes 8;2)为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;3)下面这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是系统的最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。worker_rlimit_nofile 65535;4)使用epoll的I/O模型,用这个模型来高效处理异步事件use epoll;5)每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。worker_connections 65535;6)http连接超时时间,默认是60s,功能是使客户端到服务器端的连接在设定的时间内持续有效,当出现对服务器的后继请求时,该功能避免了建立或者重新建立连接。切记这个参数也不能设置过大!否则会导致许多无效的http连接占据着nginx的连接数,终nginx崩溃!keepalive_timeout 60;7)客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求的头部大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。client_header_buffer_size 4k;8)下面这个参数将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。open_file_cache max=102400 inactive=20s;9)下面这个是指多长时间检查一次缓存的有效信息。open_file_cache_valid 30s;10)open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。open_file_cache_min_uses 1; 11)隐藏响应头中的有关操作系统和web server(Nginx)版本号的信息,这样对于安全性是有好处的。server_tokens off;12)可以让sendfile()发挥作用。sendfile()可以在磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符)。Pre-sendfile是传送数据之前在用户空间申请数据缓冲区。之后用read()将数据从文件拷贝到这个缓冲区,write()将缓冲区数据写入网络。sendfile()是立即将数据从磁盘读到OS缓存。因为这种拷贝是在内核完成的,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效(更多有关于sendfile)。sendfile on;13)告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送。就是说数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞。tcp_nopush on; 14)告诉nginx不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性,这样发送一小块数据信息时就不能立即得到返回值。tcp_nodelay on;比如:http…

Continue Readingnginx应用总结(2)–突破高并发的性能优化