CentOS6.4运维知识点1
程序员文章站
2023-08-12 14:03:36
系统的基础优化 1. 修改yum源(CentOS6.4 Mini) 2. 关闭不需要的服务 |必须的服务|描述| |: :|: :| |crond|计划任务| |network|网络服务| |sshd|OpenSSH服务| |rsyslog|日志服务(CentOS5.8以下为syslog)| 3. ......
系统的基础优化
1. 修改yum源(centos6.4 mini)
wget http://mirrors.163.com/.help/centos6-base-163.repo cd /etc/yum.repos.d/ mv centos-base.repo centos-base.repo.bak mv centos6-base-163.repo centos-base.repo yum clean all yum makecache yum update wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm yum install yum-priorities vim /etc/yum/pluginconf.d/priorities.conf [main] enabled=1 修改repo文件,设置 priority=n (1 ~ 99,1 最高)
2. 关闭不需要的服务
查看系统中已经启动的服务 ntsysv 图形界面
必须的服务 | 描述 |
---|---|
crond | 计划任务 |
network | 网络服务 |
sshd | openssh服务 |
rsyslog | 日志服务(centos5.8以下为syslog) |
3. 关闭不必要的tty
默认init开启6个控制台,分别可用alt + f1~6切换访问。6个控制台全部驻留内存。可以查看:
ps aux | grep tty | grep -v grep 通常保留2个就可以了 vim /etc/init/start-ttys.conf env actives_ consoles=/dev/tty[1-2] vim /etc/sysconfig/init actives_ consoles=/dev/tty[1-2]
4. 调整tcp/ip网络参数
加强对抗syn flood的能力
echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf sysctl -p
5. 修改history的记录数
vim /etc/profile histsize=100 source /etc/profile
6. 校准时间
yum install ntp crontab -e 加入 * /5 * * * * /user/sbin/ntpdate ntp.api.bz dig ntp.api.bz
7. 停止ipv6网络服务
查看内核模块以确定是否支持ipv6 lsmod | grep ipv6 ifconfig -a #每当系统需要加载ipv6模块时使用/bin/true来替代 echo "install ipv6 /bin/true" > /etc/modprobe.d/disable-ipv6.conf #禁用ipv6网络 echo "ipv6init=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0
8. 调整linux的最大文件打开数
/etc/security/limit.conf 最后一行添加 * soft nofile 65535 * hard nofile 65535 vim /etc/rc.local 添加 ulimit -shn 65535 查看最大文件打开数 #!/bin/bash for pid in `ps aux | grep nginx | grep -v grep | awk '{print $2}'` do cat /proc/${pid}/limits | grep 'max open files' done
9. 网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
device=eth0 bootproto=static hwaddr=00:11:22:33:44:55 ipv6init=no ipv6_autoconf=yes onboot=yes #在系统启动时启动网卡 netmask=255.255.255.0 ipaddr=2.2.2.2 gateway=1.1.1.1 type=ethernet peerdns=yes #允许从dhcp获得的dns覆盖本地dns地址 userctl=no #不同意普通用户修改网卡
10. 减少小文件分区的i/o
不修改小文件和目录的atime
vim /etc/fstab /dev/sda5 /data/pics ext3 noatime,nodiratime 0 0
11. 修改ssh登陆配置
sed -i 's@#permitrootlogin yes@permitrootlogin no@' /etc/ssh/sshd_config sed -i 's@#permitemptypasswords no@permitemptypasswords no@' /etc/ssh/sshd_config sed -i 's@#usedns yes@usedns no@' /etc/ssh/sshd_config
12. 增加具有sudo权限的用户
新建admin用户
vim /etc/sudoers
admin all=(all) all 或者 admin all=(all) nopasswd:all
13. 优化tcp/ip参数
查看连接计数
netstat -n | awk '/^tcp/ {++s[$nf]} end{for(a in s) print a, s[a]}'
状态 | 含义 |
---|---|
closed | 无活动的或正在进行的连接 |
listen | 服务器正在等待呼叫 |
syn_recv | 一个连接请求已经到达,等待确认 |
syn_sent | 应用已经开始,打开一个连接 |
established | 正常数据传输状态 |
fin_wait1 | 应用说她已经完成 |
fin_wait2 | 另一边已同意释放 |
itmed_wait | 等待所有分组死掉 |
closing | 两边尝试同时关闭 |
time_wait | 另一边已初始化一个释放 |
last_ack | 等待所有分组死掉 |
修改参数:
vim /etc/sysctl.conf
net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 10000 65000 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 使内核配置立即生效 sysctl -p