Centos系统优化
#!/bin/bash#author junxi by #this script is only for CentOS 7.x#check the OSplatform=`uname -i`if [ $platform != "x86_64" ];then echo "this script is only for 64bit Operating System !"exit 1fiecho "the platform is ok"cat << EOF+---------------------------------------+| your system is CentOS 7 x86_64 || start optimizing....... |+---------------------------------------EOF#添加公网DNS地址cat >> /etc/resolv.conf << EOFnameserver 223.6.6.6EOF#Yum源更换为国内阿里源yum install wget -ymv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backupwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo#添加阿里的epel源#add the epelwget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo#yum重新建立缓存yum clean allyum makecache#同步时间yum -y install ntp/usr/sbin/ntpdate cn.pool.ntp.orgecho "* 4 * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/rootsystemctl restart crond.service#设置主机名hostnamectl set-hostname qiuyuetao#设置字符集#设置最大打开文件描述符数echo "ulimit -SHn 102400" >> /etc/rc.localcat >> /etc/security/limits.conf << EOF* soft nofile 102400* hard nofile 102400* soft nproc 102400* hard nproc 102400* soft memlock unlimited * hard memlock unlimitedEOF#禁用selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsetenforce 0#关闭防火墙systemctl disable firewalld.service systemctl stop firewalld.service #set sshsed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_configsed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_configsystemctl restart sshd.service#内核参数优化cat >> /etc/sysctl.conf << EOF#CTCDN系统优化参数#关闭ipv6net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1#决定检查过期多久邻居条目net.ipv4.neigh.default.gc_stale_time=120#使用arp_announce / arp_ignore解决ARP映射问题net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.all.arp_announce=2net.ipv4.conf.lo.arp_announce=2# 避免放大攻击net.ipv4.icmp_echo_ignore_broadcasts = 1# 开启恶意icmp错误消息保护net.ipv4.icmp_ignore_bogus_error_responses = 1#关闭路由转发net.ipv4.ip_forward = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0#开启反向路径过滤net.ipv4.conf.all.rp_filter = 1net.ipv4.conf.default.rp_filter = 1#处理无源路由的包net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.default.accept_source_route = 0#关闭sysrq功能kernel.sysrq = 0#core文件名中添加pid作为扩展名kernel.core_uses_pid = 1# 开启SYN洪水攻击保护net.ipv4.tcp_syncookies = 1#修改消息队列长度kernel.msgmnb = 65536kernel.msgmax = 65536#设置最大内存共享段大小byteskernel.shmmax = 68719476736kernel.shmall = 4294967296#timewait的数量,默认180000net.ipv4.tcp_max_tw_buckets = 6000net.ipv4.tcp_sack = 1net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_rmem = 4096 87380 4194304net.ipv4.tcp_wmem = 4096 16384 4194304net.core.wmem_default = 8388608net.core.rmem_default = 8388608net.core.rmem_max = 16777216net.core.wmem_max = 16777216#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目net.core.netdev_max_backlog = 262144#限制仅仅是为了防止简单的DoS 攻击net.ipv4.tcp_max_orphans = 3276800#未收到客户端确认信息的连接请求的最大值net.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_timestamps = 0#内核放弃建立连接之前发送SYNACK 包的数量net.ipv4.tcp_synack_retries = 1#内核放弃建立连接之前发送SYN 包的数量net.ipv4.tcp_syn_retries = 1#启用timewait 快速回收net.ipv4.tcp_tw_recycle = 1#开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_mem = 94500000 915000000 927000000net.ipv4.tcp_fin_timeout = 1#当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时net.ipv4.tcp_keepalive_time = 1800net.ipv4.tcp_keepalive_probes = 3net.ipv4.tcp_keepalive_intvl = 15#允许系统打开的端口范围net.ipv4.ip_local_port_range = 1024 65000#修改防火墙表大小,默认65536net.netfilter.nf_conntrack_max=655350net.netfilter.nf_conntrack_tcp_timeout_established=1200# 确保无人能修改路由表net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0net.ipv4.conf.all.secure_redirects = 0net.ipv4.conf.default.secure_redirects = 0EOF/sbin/sysctl -p#vim定义退格键可删除最后一个字符类型echo 'alias vi=vim' >> /etc/profileecho 'stty erase ^H' >> /etc/profilecat >> /root/.vimrc << EOFset tabstop=4set shiftwidth=4set expandtabsyntax on"set numberEOF#update softyum -y update cat << EOF+-------------------------------------------------+| 优 化 已 完 成 || 5s 后 重启 这台服务器 ! |+-------------------------------------------------+EOFsleep 5reboot ##重启加载内核修改