• centos6和centos7的区别和常用的简单配置优化


    第一部分:centos6和centos7的对比
    第二部分:centos的简单配置

    1.对比文件系统

        centos6.: EXT4
            EXT4的单个文件系统的容量达到1EB,单个文件大小则达到16TB。
        centos7.:XFS
            XFS默认支持8EB减掉1字节的单个文件系统,最大支持的文件大小为9EB,最大文件系统支持18EB。

    2.对比防火墙,内核版本,默认数据库

        centos6:
            防火墙:iptables
            内核版本:2.6.x-x
            默认数据库:MySQL
        centos7:
            防火墙:firewalld (也可以使用iptables)
            内核版本:3.10.x-x (可以更好的支持docker)
            默认数据库:MariaDB (也可以用MySQL)

    3.对比时间同步,修改时区,修改语言

        centos6:
            时间同步:ntpq -p 
            修改时区:/etc/sysconfig/clock
            修改语言: /etc/sysconfig/i18n
        centos7:
            时间同步:chronyc sources
            修改时区:timedatectl set-timezone Asia/Shanghai
            修改语言: localectl set-locale LANG=zh_CN.UTF-8
    但是我基本不用,记住修改后需要重启。我常用:
    
    # locale -a |grep CN 先查看有没有zh_CN.utf-8 没有就安装 
    # yum install kde-l10n-Chinese -y ; yum groupinstall "fonts" -y
    # vim /etc/locale.conf
    #LANG="en_US.UTF-8"  #英文
        LANG="zh_CN.UTF-8"   #修改后的中文
    # source /etc/locale.conf

    4.对比主机名

        centos6.:
            配置文件在/etc/sysconfig/network 这里永久设置主机名字
        centos7.:
            配置文件在/etc/hostname (永久设置)
            hostnamectl set-hostname liych

    5.对比网络服务管理

        centos6:
        service 服务名 状态
            状态:
                status
                start
                stop
                --status-all
        chkconfig:
                on 
                off
                --list
    
        centos7: 
        systemctl 服务名 状态
            状态:
                status
                start
                stop
                list-units
                enable
                disable
                list-units-files

    6.对比网络设置

      centos6:
            网卡名字是:eth0
        centos7:
            网卡名字是:ens33 ... enp4s0f0 ... eno1 ... eno167....

    7.对比网络配置的命令

       centos6:
            ifconfig 、setup 
        centos7:
            ip 、nmtui

    8.对比网络的服务

        centos6:
            network
        centos7:
            networkmanager

    第二部分:

    1.修改centos7为eth0的网卡名字

    # cd /etc/sysconfig/network-scripts/
    # cp -a ifcfg-ens33 ifcfg-eth0
    将网卡名字修改
        NAME=eth0
        DEVICE=eth0
    修改grub配置文件
    # vim /etc/defaule/grub
    修改grub文件  在GRUB_CMDLINE_LINUX原有的参数后面加上"net.ifnames=0 biosdevname=0"
    # grub2-mkconfig -o /boot/grub2/grub.cfg
    # reboot

    2.本节常用命令

        whoami #查看当前用户是谁
        su -   # 加-表示 带环境变量切换
        su root

    3.添加一个普通的用户

        #useradd liych
        #passwd liych

    4.centos更换yum源

        镜像源:
        搜狐:http://mirrors.sohu.com
        网易:http://mirrors.163.com
        阿里云:https://opsx.alibaba.com/mirror
        淘宝:http://npm.taobao.org
    
        阿里云镜像站:https://opsx.alibaba.com/mirror (这里使用阿里云提供的源,在做yum本地仓库的是也推荐使用阿里源)

    使用阿里云源: CentOS 1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3、之后运行yum makecache生成缓存 4、其他 非阿里云ECS用户会出现 Couldn't resolve host 'mirrors.cloud.aliyuncs.com' 信息,不影响使用。 用户也可自行修改相关配置: sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

    5.安装必要的软件包

     yum install tree telnet dos2unix sysstat lrzsz -y

    6.开机优化启动项

     将不常用的服务关闭掉:
            # systemctl list-unit-files|egrep "^ab|^aud|^kdump|vm|^md|^mic|^post|lvm"  |awk '{print $1}'|sed -r 's#(.*)#systemctl disable &#g'|bash

    7.设置静态地址

        dhcp的地址总是变化,需要设置静态地址,可以不变,方便连接使用。
        配置文件路径:cd /etc/sysconfig/network-scripts/
    
            TYPE=Ethernet
            BOOTPROTO=none               #取消dhcp
            NAME=eth0
            DEVICE=eth0
            ONBOOT=yes                   #设置开机启动
            IPADDR=172.16.0.5            #IP地址
            NETMASK=255.255.255.0        #子网掩码
            GATEWAY=172.16.0.254         #网关
            DNS1=114.114.114.114         #DNS

    8.关闭防火墙和selinux

        配置服务实验环境,建议不启用这些,必要时候需要配置防火墙。
            关闭防护墙:
                # systemctl stop firewalld
                # systemctl disable firewalld.service
                # systemctl status firewalld
            关闭selinux:
                # sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
                # sestatus

    9.优化VMware的SSH使其连接时候更快的连接

        当时有CRT或Xshell连接虚拟机的时候,连接的速度很慢,会卡顿。
        关闭登陆的时候客户端需要对服务器端的IP地址进行反解析。
        但是测试的是发现GSSAPIAuthentication是默认关闭的,所以可以只设置UseDNS no 就可以加速连接。
    
    # sed  -i  '93s@GSSAPIAuthentication yes@GSSAPIAuthentication no@;129s@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config
    为了避免迷惑解释下 93s和129s的示意如下:
    
    [root@liych ~]# cat 1.txt 
    # Don't read the user's ~/.rhosts and ~/.shosts files
    #IgnoreRhosts yes
    [root@liych ~]# sed '1s@Don@123@;2s@yes@456@' 1.txt 
    # 123't read the user's ~/.rhosts and ~/.shosts files
    #IgnoreRhosts 456
    [root@liych ~]# sed 's@Don@123@;s@yes@456@' 1.txt   
    # 123't read the user's ~/.rhosts and ~/.shosts files
    #IgnoreRhosts 456

    10.修改主机名

    # hostnamectl set-hostname liych

    11.host解析

        # vim /etc/hosts
        172.16.0.5 liych

    12.更改SSH配置文件

    
    
    配置文件:
    # vim /etc/ssh/sshd_config
    
    虽然是# 注释了,默认的也是22端口。
    #Port 22
    Port 5127
    
    更改root禁止登录
    #PermitRootLogin yes  #表示远程可以Root身份登录,需要改为no,避免了,远程的root连接高风险
    PermitRootLogin no
    
    禁止空密码登录
    #PermitEmptyPasswords no
    PermitEmptyPasswords no
    
    重启生效:
    # /etc/init.d/sshd restart
    
    注意这个修改后再生成远程连接的时候,需要修改原配置为新配置即可。
    命令集合:
    
    Port 5127
    PermitRootLogin no
    PermitEmptyPasswords no
    GSSAPIAuthentication no
    UseDNS no
    
    

    13.sudo 控制非root用户使用命令visudo

    
    
    控制普通用户的命令使用权,visudo后续详细解释。
    visudo相当于更改、/etc/sudoers
    
    用户     授权角色的权限    命令 
    #liych   ALL=(ALL)       NOPASSWD:ALL       #相当于liych拥有root的权限
    # 也可以使用%用户组
    命令集合:
    
    # visudo
    # 添加授权的命令,多个命令用逗号分开
    ## Allow root to run any commands anywhere
    root    ALL=(ALL)       ALL
    liych   ALL=(ALL)       /usr/sbin/useradd   #拥有useradd的权限
    
    #普通用户使用时:
    # su liyc
    # sudo useradd liych01
    
    

    14.自定义命令

    
    
    自定义一个命令,有的时候为了方便执行一个实时运行的状态的脚本,还需要找路径,索性就自建一个命令吧
    which 可以查看到命令的路径
    命令集合:
    
    [root@liych ~]# mkdir /home/liych
    [root@liych ~]# cd /home/liych/
    [root@liych liych]# touch 1                             #1代表自定义命令的名字
    [root@liych liych]# echo " echo 123" >/home/liych/1     #要执行1命令后的结果是什么
    [root@liych liych]# PATH=/home/liych/:$PATH             #加入到环境变量内,原来的环境变量也同时加入;临时生效
    [root@liych liych]# 1                                   #执行1命令后,返回命令结果
    123
    # 以下命名是永久生效,无论是重启后,也会生效;
    # 注意使用单引号做引用,强引用。
    [root@liych liych]# echo 'PATH="/home/liych/:$PATH"' >> /etc/profile
    [root@liych liych]# source /etc/profile
    [root@liych liych]# 1                                   #执行1命令后,返回命令结果
    123

    15.时间同步方法

    
    
    第一点:需要注意本机网络通
    第二点:/var/spool/cron/root #这个root 是必须的,可以使用crontab -l 查看到定时任务添加与否
    # ntpdate cn.pool.ntp.org  #(生效)执行这条命令即可,后端的域名要是失效了,百度搜下时间域名即可。
    
    # echo '*/5 * * * * /usr/sbin/ntpdate cn.pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root
    # crontab -l  #检查定时任务是否添加完成。
    centos7的时间服务详见:https://www.cnblogs.com/liych/p/11747551.html

    16.加大服务器文件描述符

    
    
    ulimit -n 查看当前文件描述符。
    文件描述符相当于创建一个文件或打开一个新文件,内核向进程返回的一个文件描述符。
    
    # ulimit -HSn 65535  当前生效
    永久生效:
    
    [root@liych ~]# echo '* soft nofile 65535' >>/etc/security/limits.conf
    [root@liych ~]# echo '* hard nofile 65535' >>/etc/security/limits.conf
    
    

    17.调整内核参数

    
    
    两种修改内核参数方法:
    1、使用echo value方式直接追加到文件里如echo "1" >/proc/sys/net/ipv4/tcp_syn_retries,但这种方法设备重启后又会恢复为默认值
    2、把参数添加到/etc/sysctl.conf中,然后执行sysctl -p使参数生效,永久生效
    [root@liych ipv4]# 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.somaxconn = 16384
    net.core.netdev_max_backlog = 16384
    net.ipv4.tcp_max_orphans = 16384
    
    #以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
    net.ipv4.ip_conntrack_max = 25000000
    net.ipv4.netfilter.ip_conntrack_max=25000000
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120
    
    永久更改,重新登录后有效 
    查看 tail -1 /etc/security/limits.conf 

    18.使用本地yum源

        后续单独出讲
    
    

    19.其他:

    
    
       1.时间:
            查看系统的开机时间:
            systemd-analyze time
            查看具体服务的运行时间:
            systemd-analyze blame 
            输出图形展示:
            # systemd-analyze plot  >system_time.svg
      2.清空版本
      > /etc/issue
      cat /dev/null >/etc/issue
    
    
    
     
  • 相关阅读:
    分布式事务:Saga模式
    使用 Go 语言徒手撸一个负载均衡器
    基于agenda的Nodejs定时任务管理框架搭建
    在Node.js中使用ejsexcel输出EXCEL文件
    [译]Node.js框架对比:Express/Koa/Hapi
    基于RSA的WEB前端密码加密方案
    CSS3实现0.5px边框
    前端JS面试题汇总 Part 3 (宿主对象与原生对象/函数调用方式/call与apply/bind/document.write)
    前端JS面试题汇总 Part 2 (null与undefined/闭包/foreach与map/匿名函数/代码组织)
    前端JS面试题汇总 Part 1(事件委托/this关键字/原型链/AMD与CommonJS/自执行函数)
  • 原文地址:https://www.cnblogs.com/liych/p/11741632.html
Copyright © 2020-2023  润新知