- 修改网卡配置参数
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改添加以下配置
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=nono
IPADDR=192.168.6.253
NETMASK=255.255.255.0
GATEWAY=192.168.6.1
DNS1=202.106.0.20
- 备份系统更新源(可先更改)
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d
yum -y install wget(安装wget)
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo(下载163的yum镜像源)
清空yum缓存
yum clean all
生成缓存
yum makecache
开始更新系统以及内核
yum upgrade、
- 必备软件
yum -y install vim ntpdate ftp lsof gcc*
- 关闭selinux
cp /etc/sysconfig/selinux /etc/sysconfig/selinux.bak && sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/sysconfig/selinux
setenforce 0
- 调整文件描述符大小
cp /etc/rc.local /etc/rc.local.bak && echo "ulimit -SHn 65535" >> /etc/rc.local
cat /etc/rc.local
- 设置系统字符集
如果用中文提示:LANG=”zh_CN.UTF8” 如果用英文提示:LANG=”en_US.UTF-8”
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak && sed -i ‘s/LANG="zh_CN.*"/LANG="en_US.UTF-8"/g‘ /etc/sysconfig/i18n(设置为英文字符集)
以下参考
(#替换成英文
sed -i ‘s#LANG="zh_CN.*"#LANG="en_US.UTF-8"#‘ /etc/sysconfig/i18n
#替换成中文
sed -i ‘s#LANG="en_US.*"#LANG="zh_CN.UTF-8"#‘ /etc/sysconfig/i18n
#替换成UTF-8中文
sed -i ‘s#LANG="zh_CN.*"#LANG="zh_CN.UTF-8"#‘ /etc/sysconfig/i18n
)
- 内核参数优化
#可用于web应用
cp /etc/sysctl.conf /etc/sysctl.conf.bak && vim /etc/sysctl.conf
{net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 1024 65535
#以下参数是对centos6.x的iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。
#如果是centos5.X需要吧netfilter.nf_conntrack替换成ipv4.netfilter.ip
#centos5.X为net.ipv4.ip_conntrack_max = 25000000
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
立即生效 /sbin/sysctl -p centos6.5可能会报错
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
出现这个的原因是,没有自动载入bridge桥接模块
modprobe bridge
echo "modprobe bridge">> /etc/rc.local
查看桥接 lsmod|grep bridge
centos5.X可能会报错 这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack
error: "net.ipv4.ip_conntrack_max"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_max"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait"is an unknown key
error: "net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait"is an unknown key
centos5.X解决方法:
modprobe ip_conntrack
echo "modprobe ip_conntrack">> /etc/rc.local
centos6.X可能会报错 这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack
error: "net.nf_conntrack_max"isan unknown key
error: "net.netfilter.nf_conntrack_max"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_established"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_time_wait"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_close_wait"isan unknown key
error: "net.netfilter.nf_conntrack_tcp_timeout_fin_wait"isan unknown key
centos6.X解决方法:
modprobe nf_conntrack
echo "modprobe nf_conntrack">> /etc/rc.local
注意:笔者在整理这篇centos6.5内核优化的时候发现,如果不开启ip6tables去优化nf_conntrack模块去执行上面的解决方法会依旧提示上面的error。所以在优化服务的时候,可以选择留下iptables和ip6tables。当然如果不用iptables的话,在内核优化的时候就要去掉对nf_conntrack的设置,在进行/sbin/sysctl -p 是不会有错误提示的。
}
(以上是出现的故障解决)
随后sysctl –p完成
- 安装sedmail必须定时自动清理/var/spool/clientmqueue/下文件防止inode节点被沾满
{#centos6.5已经不自动安装sendmail了所以没必要走这一步优化
mkdir -p /server/scripts
vi /server/scripts/spool_clean.sh
#!/bin/sh
find/var/spool/clientmqueue/-typef -mtime +30|xargsrm-f
}
- 删除不必要的用户和组
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
- 全局变量
cp /etc/profile /etc/profile.bak
echo "TMOUT=3600" >> /etc/profile && sed -i ‘s/HISTSIZE=1000/HISTSIZE=10/g‘ /etc/profile
source /etc/profile
- 创建用户
useradd andy
echo "666666" | passwd --stdin andy && history -c
visudo(修改sudo权限)
andy ALL=(ALL) ALL
- 设置sshd
- 试用andy账号登入:su – andy
- 生成密钥:ssh-keygen -t rsa
- 进入目录:cd /home/andy/.ssh
- 生成验证文件:mv id_rsa.pub authorized_keys
- 拷贝/home/andy/.ssh/id_rsa 到客户端本地
- 编辑vi /etc/ssh/sshd_config
42行PermitRootLogin no #把前面的注释#取消,yes修改为no,这样root就不能远程登录了!
64行PasswordAuthentication no #把前面的注释#取消,yes修改为no,这样就禁用所有账号通过密码验证登录
#Port 22修改为Port 52101
- 防火墙开放52101端口
- /etc/init.d/sshd restart #重启SSH服务
修改系统时间
# yum install -y ntp
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# ntpdate us.pool.ntp.org