您的位置:首页 > 运维架构 > Linux

CentOS7安装后系统配置及优化

2019-11-07 11:44 2919 查看
  1. 配置国内源和epel源

    cd /etc/yum.repos.d/
    mkdir repo_bak
    mv *.repo repo_bak/
    #基础源文件
    wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/Centos-7.repo
    #epel源文件
    wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
    #重新生成yum缓存
    yum clean all
    yum makecache
    #升级系统
    yum update -y

  2. 安装基础依赖包

    yum install -y htop lrzsz nmap screen man expect \
    gcc gcc-c++ autoconf automake bzip2-devel \
    openssl-devel multitail kernel-devel \
    pam-devel zlib-devel perl-devel tcp_wrappers-devel

  3. 关闭selinux

    sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
    setenforce 0
    #查看selinux设置
    getenforce

  4. 关闭默认的邮件服务

    #(默认端口25)
    systemctl disable postfix
    systemctl stop postfix
    #查看系统默认监听的端口
    netstat -nlput |grep -v "Proto" | grep "LISTEN"

  5. 设置系统环境变量

    #添加执行权限
    chmod a+x /etc/rc.d/rc.local
    #设置环境变量
    cat >>/etc/profile <<EOF

    $(date +%F)

    alias vi='vim'
    alias grep='grep --color=auto'
    #设置300秒内用户无操作就字段断开终端
    export TMOUT=300
    #将值设置为readonly 防止用户更改
    readonly TMOUT
    EOF
    source /etc/profile
    #vimrc设置
    cat >>/etc/vimrc <<EOF
    set tabstop=4
    set softtabstop=4
    set shiftwidth=4
    set expandtab
    EOF

  6. 设置文件打开描述符

    cat >/etc/security/limits.conf <<EOF
    ##### $(date) #####
    * soft noproc 65535
    * hard noproc 65535
    * soft nofile 409600
    * hard nofile 409600
    EOF

  7. 优化系统内核参数

    ###优化内核参数###
    if [ ! -f '/etc/sysctl.conf.bak' ];then
    \cp /etc/sysctl.conf{,.bak}
    cat > /etc/sysctl.conf <<EOF

    $(date)

    #修改最大连接数
    net.nf_conntrack_max = 655360
    net.netfilter.nf_conntrack_tcp_timeout_established = 1200
    #套接字由本端关闭,这个参数决了它在FIN-WAIT-2状态的时间,默认是60秒。
    net.ipv4.tcp_fin_timeout = 2
    #socket废弃前重试的次数,重负载web服务器建议调小
    net.ipv4.tcp_orphan_retries = 1
    #表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接。
    net.ipv4.tcp_tw_reuse = 1
    #表示开启TCP连接中TIME-WAIT sockets的快速回收。
    net.ipv4.tcp_tw_recycle = 1
    #表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN***。
    n 2820 et.ipv4.tcp_syncookies = 1
    #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为10分钟。
    net.ipv4.tcp_keepalive_time = 600
    #表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
    net.ipv4.ip_local_port_range = 1024 65000
    #加大SYN队列长度,默认是1024.可以容纳更多等待连接的网络连接数。
    net.ipv4.tcp_max_syn_backlog = 262144
    #imewait的数量,默认是180000。
    net.ipv4.tcp_max_tw_buckets = 6000
    #路由缓存刷新频率,当一个路由失败后多长时间跳到另一个路由,默认是300。
    net.ipv4.route.gc_timeout = 100
    #内核放弃连接之前发送SYN+ACK的时间
    net.ipv4.tcp_syn_retries = 1
    #内核放弃建立连接之前发送SYN包的数量。
    net.ipv4.tcp_synack_retries = 1
    #调解系统同时发起的TCP连接数,默认为128.在高并发的请求中,默认值可能导致连接超时或重传。
    net.core.somaxconn = 262144
    #该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。
    net.core.netdev_max_backlog = 262144
    #设定系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。可防止简单DoS***。
    net.ipv4.tcp_max_orphans = 262144
    EOF
    fi
    #刷新系统内核参数:
    /sbin/sysctl -p

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: