http://wangzhenyu.blog.51cto.com/2996939/1111752                                  

 

#!/bin/bash  
#author suzezhi  
#this script is only for CentOS 6  
#check the OS  
 
platform=`uname -i`  
if [ $platform != "x86_64" ];then 
echo "this script is only for 64bit Operating System !" 
exit 1  
fi  
echo "the platform is ok" 
version=`lsb_release -r |awk '{print substr($2,1,1)}'`  
if [ $version != 6 ];then 
echo "this script is only for CentOS 6 !" 
exit 1  
fi  
cat<< EOF  
+---------------------------------------+  
|   your system is CentOS 6 x86_64      |  
|      start optimizing.......          |  
+---------------------------------------  
EOF  
 
#make the 163.com as the default yum repo  
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup  
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo  
 
#add the third-party repo  
#add the epel  
rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm   
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6  
 
#add the rpmforge  
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm  
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag  
 
#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  
echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root  
servicecrond restart  
 
#set the file limit  
echo "ulimit -SHn 102400" >> /etc/rc.local 
cat>> /etc/security/limits.conf<< EOF  
*           softnofile       65535  
*           hardnofile       65535  
EOF  
 
#set the control-alt-delete to guard against the miSUSE  
sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf  
 
#disableselinux  
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  
 
#set ssh  
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config  
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config  
servicesshd restart  
 
#tune kernel parametres  
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.ipv4.tcp_tw_recycle = 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  
 
#define the backspace button can erase the last character typed  
echo 'stty erase ^H' >> /etc/profile  
echo "syntax on" >> /root/.vimrc  
 
#stop some crontab  
mkdir /etc/cron.daily.bak  
mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak  
mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak  
chkconfigbluetooth off 
chkconfig cups off 
chkconfig ip6tables off 
#disable the ipv6  
cat> /etc/modprobe.d/ipv6.conf << EOFI  
alias net-pf-10 off 
options ipv6 disable=1  
EOFI  
echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network  
cat<< EOF  
+-------------------------------------------------+  
|               optimizer is done                 |  
|   it'srecommond to restart this server !       |  
+-------------------------------------------------+  
EOF

 

对脚本的内容做一下说明:

  1. 先对系统进行判断,如果是Cent OS 64位,就继续运行。

  2. 先将系统的安装源设置为网易的(网易的安装源算是国内比较稳定的)

  3. 安装epel的源和rpmforge的源,利用第三方的源来让yum安装起来更方便

  4. 更新软件

  5. 设置为每天凌晨四点进行时间同步(跟国家授时中心的服务器进行时间同步)

  6. 将系统同时打开的文件个数增大

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

  8. 关闭SELinux

  9. 禁用GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度

  10. 优化一些内核参数

  11. 调整删除字符的按键为backspace(某些系统默认是delete)

  12. 打开vim的语法高亮

  13. 取消生成whatis数据库和locate数据库

  14. 关闭没用的服务

  15. 关闭IPv6

本文出自 “技术为王” 博客,请务必保留此出处http://wangzhenyu.blog.51cto.com/2996939/1111752