一、CentOS6.8 X86_64 最小化安装后的优化
用服务器使记得一个原则,系统安装的应用包最小化,服务器越稳定。
(1)系统的基础优化
1)更新yum官方源
为了让Centos6.8系统使用速度更快的更新源,运维人员都会选择更换源,一般会原则网易的更新源。
#wget http://mirrors.163.com/ .help/CentOS6-Base-163.repo 下载repo文件
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo.bak 备份repo文件
# mv CentOS6-Base-163.repo CentOS-Base.repo 替换repo文件
# yum clean all 清理yum缓存
# yum makecache 重建缓存
# yum update 升级Linux系统
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 增加epel源,下载rpm文件
# rpm -ivh epel-release-6-8.noarch.rpm
# # yum -y install gcc gcc-c++ vim-enhanced unzip unrar sysstat 安装gcc基础库及sysstat工具
# yum install yum-priorities -y 安装yum-priorities源
# yum install yum-priorities
确保文件里面有如下内容:
[main]
enabled = 1
2)关闭不需要的服务
好处是可以减少内存和cpu的资源占用。
# ntsysv 列出需要启动服务,其他根据实际情况关闭
crond 计划任务
network 网络服务,不开启无法上网
sshd ssh服务守护进程
rsyslog 日志服务
3)关闭不需要的TTY(需要重启机器)
# vim /etc/init/start-ttys.conf
env ACTIVE_CONSOLES=/dev/tty[1-2] 改为1-2
# vim /etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty[1-2] 改为1-2
4)对TCP/IP网络参数进行调整
# echo 'net.ipv4.tcp_syncookies = 1'>>/etc/sysctl.conf
5)修改SHELL命令的history记录个数
# vim /etc/profile
HISTSIZE=100 根据实际工作环境修改
source /etc/profile
6)定时校正服务器的时间
# yum install -y ntp
# crontab -e
0 1 * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
7)停止IPv6网络服务(如需安装LVS服务建议略过此优化项)
# echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0 禁用基于ipv6网络,使之不会被触发启动
8)调整修改文件描述符限制
# vim /etc/security/limits.conf 修改用户级限制
* soft nofile 65535
* hard nofile 65535
# echo "fs.file-max=419430" >> /etc/sysctl.conf 修改系统限制
# sysctl -p
9)正确启动网卡
# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes 系统引导就启动网卡设备,记得改为yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=10.0.0.7
NETMASK=255.255.255.0
DNS2=8.8.8.8
GATEWAY=10.0.0.254
DNS1=202.106.0.20
IPV6INIT=no
USERCTL=no 不允许普通用户修改网卡
IPV6INIT=no
10)关闭磁盘I/O功能
vim /etc/fstab 修改配置文件
例如:/dev/sda5 /data/pics ext3 noatime,nodiratime 0 0
11)修改SSH登录配置
# sed -i 's@#PermitEmptyPasswords no@PermitEmptyPasswords no@g' /etc/ssh/sshd_config 禁止空密码登录
# sed -i 's@#UseDNS yes@UseDNS no@g' /etc/ssh/sshd_config 关闭SSH反向查询,以加快SSH访问速度
# sed -i 's@#PermitRootLogin yes@PermitRootLogin no@g' /etc/ssh/sshd_config 禁止root远程登录(此优化会造成Xshell连不上)
12)增加具有sudo权限的用户
由于系统已经禁止root远程登录,因此需要一个具有sudo权限的用户,权限与root相当
# visudo
hkping ALL=(ALL) ALL
hkping ALL=(ALL) NOPASSWD:ALL 进行sudo切换时不想输入密码加NOPASSWD
(2)优化Linux下的内核TCP参数提高系统性能
基础内核优化
# vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout =2
net.ipv4.tcp_tw_reuse =1
net.ipv4.tcp_tw_recycle =1
net.ipv4.tcp_syncookies =1
net.ipv4.tcp_keepalive_time =600
net.ipv4.ip_local_port_range =4000 65000
net.ipv4.tcp_max_syn_backlog =16384
net.ipv4.tcp_max_tw_buckets =36000
net.ipv4.route.gc_timeout =100
net.ipv4.tcp_syn_retries =1
net.ipv4.tcp_synack_retries =1
net.core.netdev_max_backlog =16384
net.ipv4.tcp_max_orphans =16384
# /sbin/sysctl -p
# sed -i 's@SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config 关闭SELINUX
# service iptables stop 关闭iptables
# chkconfig iptables off 关闭iptables开机启动