Centos 系统优化脚本,自动适应5 or 6

1, Centos 5.x/(x86_64 or i386) 或者 6.x/(x86_64 or i386) 都可以运行,知道判断系统支持. Centos 7 没有测试,理论是可以,可以适当修改shell脚本

2,安装第三方yum源,支持更多的rpm,比如添加nginx源, 可以安装最新的nginx rpm版本包

3,添加了dns,更新软件,同步时间

4,增大系统同时打开的文件个数

5,将ctrl alt delete键进行屏蔽,防止误操作的时候服务器重启

6,关闭selinux

7,SSH更改PORT, 禁用GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度 (应该先关闭iptables或者允许iptables放行端口,默认没启用更改,有需要可以启用)

8,优化一些内核参数

9,关闭ipv6 和 一些不需要的服务(含有iptables服务,一般是在外端路由启用,内部应该不需要)

10,添加时区修改, 支持scp,setup命令

Shell脚本

#!/bin/bash
#author harlan
#this script is for CentOS
#check the OS

cpuver=`uname -i`
osver=`cat /etc/redhat-release |awk '{print substr($3,1,1)}'`

cat << EOF
start optimizing.......
EOF

#set DNS
cat > /etc/resolv.conf << EOF
nameserver 114.114.114.114
nameserver 8.8.8.8
EOF

#add the third-party repo and change timezone
yum -y install wget
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#update the system and set the ntp
yum clean all
yum -y update glibc\*
yum -y update yum\* rpm\* python\* 
yum -y update
yum -y install ntp setuptool ntsysv system-config-network-tui openssh-clients
echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /etc/crontab
/etc/init.d/crond restart

#set the file limit
echo "ulimit -SHn 102400" >> /etc/rc.local 
cat >> /etc/security/limits.conf << EOF
*           soft   nofile       65535
*           hard   nofile       65535
EOF

#set the control-alt-delete
if [ $osver = "5" ]; then
sed -i 's/ca::ctrlaltdel/#ca::ctrlaltdel/g' /etc/inittab
else
sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#g' /etc/init/control-alt-delete.conf
fi

#disable selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

#set ssh
#sed -i 's/#Port 22/Port 1015/g' /etc/ssh/sshd_config
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
/etc/init.d/sshd restart

#set kernel
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
EOF
/sbin/sysctl -p

#Disable IPV6 -- need reboot os
if [ $osver = "5" ]; then
cat >> /etc/modprobe.conf << EOF
install ipv6 /bin/true
EOF
else
cat > /etc/modprobe.d/ipv6.conf << EOF
install ipv6 /bin/true
EOF
fi
sed -i 's/^NETWORKING_IPV6=yes/NETWORKING_IPV6=no/g' /etc/sysconfig/network
echo "IPV6INIT=no" >> /etc/sysconfig/network

#Stop some server
chkconfig apmd off
chkconfig autofs off
chkconfig bluetooth off
chkconfig cups off
chkconfig ip6tables off
chkconfig iptables off
chkconfig hidd off
chkconfig idsn off 
chkconfig pcscd off
chkconfig pcmcia off
chkconfig sendmail off
chkconfig yum-updatesd off

cat << EOF
+-------------------------------------------------+
|               optimizer is done                 |
|           please reboot this server !           |
+-------------------------------------------------+
EOF


你可能感兴趣的:(Centos 系统优化脚本,自动适应5 or 6)