zoukankan      html  css  js  c++  java
  • Linux 系统优化-workstation实践

    Linux 系统优化

    关闭SELinux

    [root@workstation ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    [root@workstation ~]# setenforce 0
    [root@workstation ~]# getenforce
    

    关闭Firewalld防火墙

    等业务调试好之后再开启,防止在部署业务期间,防火墙的影响。

    [root@workstation ~]# systemctl stop firewalld
    [root@workstation ~]# systemctl disable firewalld
    

    修改字符集

    根据尝试修改适合的字符集即可,这里该成中文字符集。

    [root@workstation ~]# LANG=zh_CN.utf-8
    [root@workstation ~]# vi /etc/locale.conf
    LANG="zh_CN.UTF-8"
    

    使用阿里云镜像做yum源

    [root@workstation ~]# rm -fr /etc/yum.repos.d/*
    cd /etc/yum.repos.d/
    
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
    
    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
    

    安装常用软件

    yum -y install tree nmap sysstat lrzsz dos2unix telnet bash-completion bash-completion-extras vim nc lsof net-tools rsync ntpdate
    

    更改vim编辑器别名

    [root@workstation ~]# alias vi='vim'
    [root@workstation ~]# vi /etc/profile.d/vi.sh
    alias vi='vim'
    

    时间同步

    echo '#Time synchronization time' >>/var/spool/cron/root
    echo '0 0 * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null' >>/var/spool/cron/root
    crontab -l
    

    加大文件描述符

    echo '* - nofile 65535 ' >>/etc/security/limits.conf
    tail -1 /etc/security/limits.conf
    

    PS1变量优化

    [root@workstation ~]# vi /etc/profile.d/PS1.sh 
    PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@h [e[36;40m]w[e[0m]]\$ "
    
    

    内核优化

    cat >>/etc/sysctl.conf<<EOF
    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.somaxconn = 16384
    net.core.netdev_max_backlog = 16384
    net.ipv4.tcp_max_orphans = 16384
    EOF
    
    
    [root@workstation ~]# sysctl -p
    
    

    sshd远程连接优化

    sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
    grep 'UseDNS no' /etc/ssh/sshd_config
    sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
    grep 'GSSAPIAuthentication no' /etc/ssh/sshd_config
    systemctl restart sshd
    
    

    安全优化

    >/etc/issue
    >/etc/issue.net
    
    >/etc/motd
    
    # 用户登陆超时
    echo 'export TMOUT=900' >> /etc/profile
    
    

    优化总结

    不用root登录管理系统,而以普通用户登录通过sudo授权管理。

    更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP。

    定时自动更新服务器的时间,使其和互联网时间同步。

    配置yum更新源,从国内更新源下载安装软件包。

    关闭SELinux及iptables(在工作场景中,如果有外部IP一般要打开iptables,高并发高流量的服务器可能无法开启)。

    调整文件描述符的数量,进程及文件的打开都会消耗文件描述符数量。

    定时自动清理邮件临时目录垃圾文件,防止磁盘的inodes数被小文件占满(注意Centos6和Centos5要清除的目录不同)。

    精简并保留必要的开机自启动服务(如crond、sshd、network、rsyslog、sysstat)。

    Linux内核参数优化/etc/sysctl.conf,执行sysctl -p生效。

    更改系统字符集为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。

    锁定关键系统文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,处理以上内容

    后把chattr、lsattr改名为luffy,转移走,这样就安全多了。

    清空/etc/issue、/etc/issue.net,去除系统及内核版本登录前的屏幕显示。

    清除多余的系统虚拟用户账号。

    为grub引导菜单加密码。

    禁止主机被ping。

    打补丁并升级有已知漏洞的软件。 新系统 yum –y install 已经在线上用的服务器 web服务器能够停止。

  • 相关阅读:
    一百多套开发视频教程的下载地址
    http://blog.csdn.net/chlele0105/article/details/9056951
    http://kb.cnblogs.com/page/541862/
    Linux版本选择
    2015-2016规划
    PHP 类的继承一些知识点汇总
    PHP面向对象的基本属性分析
    PHP中的魔术方法总结 :
    PHP字符串常用操作函数
    php八中数据类型以及相互转换
  • 原文地址:https://www.cnblogs.com/gshelldon/p/14073178.html
Copyright © 2011-2022 走看看