zoukankan      html  css  js  c++  java
  • CentOS6.4运维知识点1

    系统的基础优化

    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
    
  • 相关阅读:
    1060. Are They Equal (25)
    1063. Set Similarity (25)
    Java基础学习总结(20)——基础语法
    Java基础学习总结(19)——Java环境变量配置
    Java基础学习总结(19)——Java环境变量配置
    Java基础学习总结(18)——网络编程
    Java基础学习总结(18)——网络编程
    Java基础学习总结(17)——线程
    Java基础学习总结(17)——线程
    Java基础学习总结(16)——Java制作证书的工具keytool用法总结
  • 原文地址:https://www.cnblogs.com/cerana/p/11094533.html
Copyright © 2011-2022 走看看