先对脚本的内容做一下说明:
1.
对系统进行判断,如果是
Cent OS 64位,继续运行。
2.
设置为每天凌晨四点进行时间同步(跟国家授时中心的服务器进行时间同步)注释:已调
.
3.
禁用
atime 日志记录特性。
4.
将系统同时打开的文件个数增大
5.
将
ctrl ALT delete键进行屏蔽,防止误操作的时候服务器重启
6.
关闭
SELinux
7.
禁用
GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度
8.
优化一些内核参数
9.
调整删除字符的按键为
backspace(某些系统默认是delete)
10.
打开
vim的语法高亮
11.
取消生成
whatis数据库和locate数据库
12.
关闭没用的服务
13.
关闭
IPv6
下面是
sh脚本文件详细内容.
#!/bin/bash
#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
+---------------------------------------------+
|
Winenice system is CentOS 6 x86_64 |
|
start optimizing........ |
+---------------------------------------------+
EOF
yum -y install ntp
echo "* 4 * * * /usr/sbin/ntpdate 203.117.180.36 > /dev/null 2>&1" >> /var/spool/cron/root
service crond restart
设置为每天凌晨四点进行时间同步(跟国家授时中心的服务器进行时间同步
.)
#set the file limit
echo "ulimit -SHn 102400" >> /etc/rc.local
指定最大打开文件数
.
cat >> /etc/security/limits.conf << EOF
*
soft nofile 65536
*
hard nofile 65536
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
禁用
control-alt-delete,防止误操作.
#disable selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
禁用
SELINUX
#set ssh
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
禁用
GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度.
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
service sshd restart
磁盘在我们
LEMP平台架构中扮演着重要的角色。静态文件、模板和代码都来自磁盘,因为磁盘访问的延迟相当高。因此,花一些时间对磁盘硬件进行优化是有意义的。禁用 atime 日志记录特性。atime 是最近访问文件的时间,每当访问文件时,底层文件系统必须记录这个时间戳。现在我们很少使用 atime,禁用它可以减少磁盘访问时间。
#tune kernel parametres
优化内核,需重启!
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
----------------长连接会话保持,与
DBA沟通.
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
IP碎片去除,从指定的文件加载系统参数
.
#define the backspace button can erase the last character typed
echo 'stty erase ^H' >> /etc/profile
退格键设定为
backspace
echo "syntax on" >> /root/.vimrc
开启
vim色彩.
#stop some crontab
whatis和
mlocate都是查询whatis数据库的工具,对于WEB服务器作用不大.
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
chkconfig bluetooth off
蓝牙功能,无用,可关闭
.
chkconfig cups off
打印功能,无用,可关闭
.
chkconfig ip6tables off
IPV6 可关闭
.
#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
+-------------------------------------------------+
|
Winenice Web Server Optimization end! |
|
Please restart! |
+-------------------------------------------------+
EOF