==========

/etc/security/limits.conf 管制PAM用户的关上文件数,过程数等查看用户的限度,ps aux|grep httpd,获取pid,而后cat /proc/$pid/limits==========敞开多余的服务 如:postfixsystemctl list-unit-files|grep 'enabled'=============/etc/sysctl.conf 管制linux零碎的参数kernel.pid_max = 4194303 cat /proc/sys/kernel/pid_maxPID调配限度值。当内核下一个PID值达到这个值,它会回到最低的PID值。PID的最大的pid_max未调配,默认值为32768fs.file-max = 999999#零碎最大关上文件数vm.swappiness = 0#内存剩下多少应用虚拟内存(swap),0示意尽量不应用,10示意剩下10%时应用,即内存用到90%时应用。net.ipv4.ip_local_port_range = 1024 65535#示意用于向外连贯的端口范畴。缺省状况下很小:32768到61000,改为1024到65535。net.ipv4.tcp_max_syn_backlog = 65535#示意SYN队列长度,默认1024,改成65535,能够包容更多期待连贯的网络连接数。linux零碎下内核参数优化,参数配置切当能够大大提高零碎的性能,也能够依据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻打等等。依据TCP协定定义的3次握手断开连接规定,发动socket被动敞开的一方(服务器被动敞开连贯)。socket将进入TIME_WAIT状态,TIME_WAIT状态将继续2个MSL(Max Segment Lifetime),在Windows下默认为4分钟,即240秒,TIME_WAIT状态下的socket不能被回收应用,导致大量的TIME_WAIT,甚至比处于Established状态下的socket多的多,重大影响服务器的解决能力,甚至耗尽可用的socket,进行服务。net.core.somaxconn = 65535#Linux kernel参数,示意socket监听的backlog(监听队列)下限net.ipv4.tcp_max_tw_buckets = 10000#示意零碎同时放弃TIME_WAIT套接字的最大数量net.ipv4.tcp_tw_reuse = 1#示意开启重用。容许将TIME-WAIT sockets从新用于新的TCP连贯,默认为0,示意敞开;net.ipv4.tcp_tw_recycle = 1#示意开启TCP连贯中TIME-WAIT sockets的疾速回收,默认为0,示意敞开。tcp_tw_recycle:回收TIME_WAIT连贯对客户端和服务器同时起作用,开启后在 3.5*RTO 内回收,RTO 200ms~ 120s 具体工夫视网络情况。RTO(Retransmission TimeOut)重传超时工夫.内网情况比tcp_tw_reuse 稍快,公网尤其挪动网络大多要比tcp_tw_reuse 慢,长处就是可能回收服务端的TIME_WAIT数量然而,有个小坑:当多个客户端通过NAT形式联网并与服务端交互时,服务端看到的是同一个IP,也就是说对服务端而言这些客户端实际上等同于一个,惋惜因为这些客户端的工夫戳可能存在差别,于是乎从服务端的视角看,便可能呈现工夫戳错乱的景象,进而间接导致工夫戳小的数据包被抛弃。客户端处于NAT很常见,根本公司家庭网络都走NAT.tcp_tw_reuse:复用TIME_WAIT连贯 只对客户端起作用,1秒后能力复用,当创立新连贯的时候,如果可能的话会思考复用相应的TIME_WAIT连贯。通常认为tcp_tw_reuse比tcp_tw_recycle平安一些,这是因为一来TIME_WAIT创立工夫必须超过一秒才可能会被复用;二来只有连贯的工夫戳是递增的时候才会被复用。客户端tcp_tw_reuse复用连贯管用, tcp_tw_recycle有用,然而客户端次要不是承受连贯,用途不大服务器tcp_tw_recycle回收连贯管用,tcp_tw_reuse复用有效。为了缩小TIME_WAIT留在服务器,能够在服务器开启KeepAlive,尽量不让服务器被动敞开,而是客户端被动敞开,缩小TIME_WAIT产生.net.ipv4.tcp_fin_timeout = 30#示意如果套接字由本端要求敞开,这个参数决定了它放弃在FIN-WAIT-2状态的工夫。# FIN_WAIT 超时工夫。net.core.rmem_max = 16777216#指定了接管套接字缓冲区大小的最大值(以字节为单位)。net.core.wmem_max = 16777216#定义发送窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大。net.ipv4.tcp_syncookies = 1#示意开启SYN Cookies。当呈现SYN期待队列溢出时,启用cookies来解决,可防备大量SYN攻打,默认为0,示意敞开;centos 6yum update -ysystem time<code>yum install -y sysstat man wget screen ntpchkconfig ntpd onchkconfig acpid off; chkconfig ip6tables off; chkconfig netfs off; chkconfig postfix off; chkconfig udev-post offchkconfig --list | grep 3:onsed -i 's/"UTC"/"Asia\/Kuala_Lumpur"/' /etc/sysconfig/clockrm -f /etc/localtimeln -s /usr/share/zoneinfo/Asia/Kuala_Lumpur /etc/localtime/usr/sbin/ntpdate 0.centos.pool.ntp.org</code>system optimization<code>echo "fs.file-max = 999999" >> /etc/sysctl.confecho "vm.swappiness = 0" >> /etc/sysctl.confecho "net.core.somaxconn = 1024" >> /etc/sysctl.confecho "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.confecho "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.confecho "net.core.rmem_max = 8388608" >> /etc/sysctl.confecho "net.core.wmem_max = 8388608" >> /etc/sysctl.confecho "net.ipv4.tcp_max_syn_backlog = 4096" >> /etc/sysctl.confecho "net.ipv4.ip_local_port_range = 1024 65535" >> /etc/sysctl.confecho "net.netfilter.nf_conntrack_max= 1966080" >> /etc/sysctl.confsysctl -pecho -e "*\t soft\t nofile\t 999999" >> /etc/security/limits.confecho -e "*\t hard\t nofile\t 999999" >> /etc/security/limits.conf</code>firewall<code>/sbin/iptables -F/sbin/iptables -A INPUT -i lo -j ACCEPT/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT/sbin/iptables -A INPUT -s 10.1.0.0/16 -j ACCEPT/sbin/iptables -A INPUT -s 10.0.1.0/24 -j ACCEPT/sbin/iptables -A INPUT -s 192.168.10.0/24 -j ACCEPT/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT/sbin/iptables -A INPUT -m limit --limit 5/sec -j LOG --log-prefix "iptables: " --log-level 7/sbin/iptables -P INPUT DROP/sbin/iptables -P FORWARD DROP/sbin/iptables -P OUTPUT ACCEPT/etc/init.d/iptables save/etc/init.d/iptables restart</code>ssh<code>mkdir ~/.ssh/vi ~/.ssh/authorized_keysvi /etc/ssh/sshd_config<code>Port 22ListenAddress 0.0.0.0Protocol 2SyslogFacility AUTHPRIVLoginGraceTime 1mStrictModes yesMaxAuthTries 5MaxSessions 5PubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keysPermitEmptyPasswords noPasswordAuthentication yesChallengeResponseAuthentication noUsePAM yesAcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGESAcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENTAcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGEAcceptEnv XMODIFIERSX11Forwarding noPrintLastLog yesTCPKeepAlive yesMaxStartups 5UseDNS noSubsystem sftp /usr/libexec/openssh/sftp-serverAllowUsers root</code>    /etc/init.d/sshd restartrestorecon -R -v *restorecon reset /root/.ssh/authorized_keys context unconfined_u:object_r:admin_home_t:s0->unconfined_u:object_r:ssh_home_t:s0</code>