Centos 시스템 최적화 스 크 립 트, 자동 적응 5 or 6

3843 단어
1, Centos 5. x / (x86 64 or i386) 또는 6. x / (x86 64 or i386) 모두 실행 할 수 있 습 니 다. 판단 시스템 지원 을 알 고 있 습 니 다. Centos 7 은 테스트 가 없고 이론 은 가능 합 니 다. 셸 스 크 립 트 를 적 절 히 수정 할 수 있 습 니 다.
2. 제3자 yum 소스 를 설치 하고 더 많은 rpm 를 지원 합 니 다. 예 를 들 어 nginx 소스 를 추가 하면 최신 nginx rpm 버 전 패 키 지 를 설치 할 수 있 습 니 다.
3, dns 추가, 소프트웨어 업데이트, 동기 화 시간
4. 시스템 이 동시에 열 리 는 파일 개 수 를 늘 립 니 다.
5, ctrl alt delete 키 를 차단 하여 오 작 동 시 서버 재 부팅 방지
6, selinux 닫 기
7. SSH 는 PORT 를 변경 하고 GSSAPI 로 인증 하지 않 으 며 DNS 역방향 해석 도 사용 하지 않 으 며 SSH 로그 인 속 도 를 가속 화 합 니 다. (iptables 를 닫 거나 iptables 의 실행 포트 를 허용 해 야 합 니 다. 기본적으로 변경 사항 을 사용 하지 않 았 습 니 다. 사용 할 필요 가 있 습 니 다)
8. 일부 커 널 매개 변 수 를 최적화 시킨다.
9. ipv 6 와 불필요 한 서 비 스 를 닫 습 니 다.
10, 시간 대 수정 추가, scp 지원, setup 명령
셸 스 크 립 트
#!/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

좋은 웹페이지 즐겨찾기