由于每次安装完系统后,都要对服务器上的相关参数进行相关优化。于是从网上找了个脚本,略作修改。直接在安装完系统后,运行一下,几个经常修改的设置直接改掉。非常方便。该脚本具体调整的内容有以下项:

  • 对系统进行判断,如果是Cent OS 64位,就继续运行。
  • 将系统的安装源设置为网易的(网易的安装源算是国内比较稳定的)
  • 安装epel的源和rpmforge的源,利用第三方的源来让yum安装起来更方便,并更新常用软件
  • 设置为每天凌晨四点进行时间同步(跟国家授时中心的服务器进行时间同步)
  • 将系统同时打开的文件个数增大
  • 将ctrl ALT delete键进行屏蔽,防止误操作的时候服务器重启
  • 关闭SELinux
  • 禁用GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度
  • 优化一些内核参数
  • 调整删除字符的按键为backspace(某些系统默认是delete)
  • 打开vim的语法高亮
  • 取消生成whatis数据库和locate数据库
  • 关闭没用的服务
  • 关闭IPv6

脚本内容如下:

 1#!/bin/bash
 2#this script is only for CentOS 6
 3#check the OS
 4platform=`uname -i`
 5if [ $platform != "x86_64" ];then
 6echo "this script is only for 64bit Operating System !"
 7exit 1
 8fi
 9echo "the platform is ok"
10version=`lsb_release -r |awk '{print substr($2,1,1)}'`
11if [ $version != 6 ];then
12echo "this script is only for CentOS 6 !"
13exit 1
14fi
15cat << EOF
16+---------------------------------------+
17 |   your system is CentOS 6 x86_64      |
18 |      start optimizing.......          |
19+---------------------------------------
20EOF
21#make the 163.com as the default yum repo
22mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
23wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo
24#add the third-party repo
25#add the epel
26rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
27rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
28#add the rpmforge
29rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
30rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
31#update the system and set the ntp
32yum clean all
33yum -y update glibc*
34yum -y update yum* rpm* python*
35yum -y update
36yum -y install ntp
37echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root
38service crond restart
39#set the file limit
40echo "ulimit -SHn 102400" >> /etc/rc.local
41cat >> /etc/security/limits.conf << EOF
42*           soft   nofile       65535
43*           hard   nofile       65535
44EOF
45#set the control-alt-delete to guard against the miSUSE
46sed -i 's#exec /sbin/shutdown -r now##exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf
47#disable selinux
48sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
49#set ssh
50sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
51sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
52service sshd restart
53#tune kernel parametres
54cat >> /etc/sysctl.conf << EOF
55net.ipv4.tcp_fin_timeout = 1
56net.ipv4.tcp_keepalive_time = 300
57net.ipv4.tcp_mem = 94500000 915000000 927000000
58net.ipv4.tcp_tw_reuse = 1
59net.ipv4.tcp_timestamps = 0
60net.ipv4.tcp_synack_retries = 1
61net.ipv4.tcp_syn_retries = 1
62net.ipv4.tcp_tw_recycle = 1
63net.core.rmem_max = 16777216
64net.core.wmem_max = 16777216
65net.core.netdev_max_backlog = 262144
66net.core.somaxconn = 262144
67net.ipv4.tcp_max_orphans = 3276800
68net.ipv4.tcp_max_syn_backlog = 262144
69net.core.wmem_default = 8388608
70net.core.rmem_default = 8388608
71EOF
72/sbin/sysctl -p
73#define the backspace button can erase the last character typed
74echo 'stty erase ^H' >> /etc/profile
75echo "syntax on" >> /root/.vimrc
76#stop some crontab
77mkdir /etc/cron.daily.bak
78mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak
79mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak
80chkconfig bluetooth off
81chkconfig cups off
82chkconfig ip6tables off
83#disable the ipv6
84cat > /etc/modprobe.d/ipv6.conf << EOFI
85alias net-pf-10 off
86options ipv6 disable=1
87EOFI
88echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network
89cat << EOF
90+-------------------------------------------------+
91 |               optimizer is done                 |
92 |   it's recommond to restart this server !       |
93+-------------------------------------------------+
94 EOF

具体使用时,可以根据具体情况再适当修改吧。