zoukankan      html  css  js  c++  java
  • Linux安装好系统后优化

    author:headsen chen 
    date: 2018-05-14 15:35:49


    1、快速更改国内yum源

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup   #<<-备份系统自带yum源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo <<—国内使用阿里云yum源速度比较快
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
    yum makecache

    2、安装必要的软件工具

    yum install lrzsz systat tree vim nmap unzip dos2unix nc lsof
    yum groupinstall "Development Tools"
    yum groupinsll "x software development"

    3、清理开机自启动服务

    chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash <<-关闭服务
    chkconfig --list|grep 3:on <<-检查开机启动的服务
    

    4、更改ssh登录配置

    Port 52113 #端口
    PermitRootLogin no #禁止root登录
    PermitEmptyPasswords no #禁止空密码登录
    UseDNS no #不适用dns,对远程主机进行反向解析,会减慢ssh连接速度
    ListenAddress #监听指定的IP地址

    5、将需要的普通用户加入到sudo权限里

    [root@model ~]# visudo #等于 vim /etc/sudoers 两者修改的是同一个文件

    ## Allow root to run any commands anywhere
    root ALL=(ALL) ALL
    zxin10 ALL=(ALL) ALL

    6、解决普通用户命令找不到的问题
    普通用户与root环境变量一致

    #修改各个用户的

    echo "export PATH=$PATH:/usr/sbin/:" >> ~/.bash_profile
    source ~/.bash_profile 得生效

    7、配置字符集

    linux中文显示设置

    GBK用2个字节表示一个中文,UTF-8用3个字节表示一个中文

    使用secureCRT可以设置编码格式,必须和系统设置的一样
    Option--Session Option--Appearance
    选项--会话选项--外观-- 字符编码

    修改系统:

    cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
    echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n 
    source /etc/sysconfig/i18n
    echo $LANG

    8、同步系统时间
    yum -y install ntpdate
    which ntpdate    ------> /usr/sbin/ntpdate  #ntpdate命令的全路径输出

    加入到定时任务里面去:

    echo '#time sync by mmod at 2015-2-1' >>/var/spool/cron/root
    echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root
    crontab -l

    9、关闭SElinux,iptables,NetworkManager

    sed -i 's/SELINUX=enforcing/SELINUX=disabled' /etc/selinux/conf # 直接修改读取内容而不输出到终端
    reboot

    10、五个企业环境中开机自启动的服务;

    sshd:远程连接linux服务器必须开启
    rsyslog:日志相关软件
    network:网络服务
    crond:系统和用户配置的计划任务周期性进行
    sysstat:收集系统性能数据,有利于判断系统是否正常

    设置开机自启动服务的常见方法
    方法一:ntsysv
    方法二:setup
    方法三:
    chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash

    11、加大服务器文件描述符
    #查看limit
    [root@model ~]# ulimit -n
    1024
    #修改配置文件
    echo '* - nofile 65535' >/etc/security/limits.conf

    #加入开机自启动该命令:
    echo "ulimit -HSn 65535" >> /etc/rc.local

    echo "fs.file-max = 100000" >>/etc/sysctl.conf 


    12、修改内核参数
    两种修改内核参数方法:
    12.1、使用echo value方式直接追加到文件里如echo "1" >/proc/sys/net/ipv4/tcp_syn_retries,但这种方法设备重启后又会恢复为默认值
    12.2、把参数添加到/etc/sysctl.conf中,然后执行sysctl -p使参数生效,永久生效,老男孩推荐参数:
    net.ipv4.tcp_syn_retries = 1
    net.ipv4.tcp_synack_retries = 1
    net.ipv4.tcp_keepalive_time = 600
    net.ipv4.tcp_keepalive_probes = 3
    net.ipv4.tcp_keepalive_intvl =15
    net.ipv4.tcp_retries2 = 5
    net.ipv4.tcp_fin_timeout = 2
    net.ipv4.tcp_max_tw_buckets = 36000
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_max_orphans = 32768
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 16384
    net.ipv4.tcp_wmem = 8192 131072 16777216
    net.ipv4.tcp_rmem = 32768 131072 16777216
    net.ipv4.tcp_mem = 786432 1048576 1572864
    net.ipv4.ip_local_port_range = 1024 65000
    net.ipv4.ip_conntrack_max = 65536
    net.ipv4.netfilter.ip_conntrack_max=65536
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
    net.core.somaxconn = 16384
    net.core.netdev_max_backlog = 16384

    sysctl -p


    选配部分:
    -----------------------------------------------------------------------------------

    1、定时清理邮件服务临时目录垃圾文件

    •Centos 5
    find /var/spool/clientmqueue/ -type f |xargs rm -f
    •Centos 6
    find /var/spool/postfix/maildrop -type f |xargs rm -f
    #df -i 查看磁盘inode的总量、使用量、剩余量


    2、锁定关键系统文件,防止被提权篡改
    chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    使用lsattr 进行查看,chattr -i进行解锁
    禁止linux系统被ping

    3、为了增加系统的安全性。可以禁止我们的linux系统被ping,可惜修改iptables来设置
    echo 'net.ipv4.icmp_echo_ignore_all=1' >> /etc/sysctl.conf
    sysctl -p 重载信息并更新启动

    如果要恢复:
    > /etc/sysctl.conf
    echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all


    4、隐藏系统版本还版本号
    vim /etc/issue修改文件
    >/etc/issue 清空
    echo "">/etc/redhat.release


    5、升级软件安装漏洞 yum install openssl openssh bash -y


    配置实例:

    centos7系统安装完成后一些基本的优化

    一:主机名和hosts文件
    centos7有一个新的修改主机名的命令hostnamectl
    # hostnamectl set-hostname --static li.cluster.com
    # vim /etc/hosts --最后加上你的IP与主机名的绑定
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.16.13.250 li.cluster.com li

    二:关闭iptables
    # systemctl status firewalld.service --查看firewalld服务的状态,active是启动状态,inactive是关闭状态
    # systemctl stop firewalld.service --关闭此服务
    # systemctl list-unit-files |grep firewalld --查看firewalld是否开机自动启动
    firewalld.service enabled

    # systemctl disable firewalld.service --类似以前的chkconfig xxx off
    # systemctl list-unit-files |grep firewalld
    firewalld.service disabled

    三:关闭selinux
    # sed -i 7s/enforcing/disabled/ /etc/selinux/config --改完后,在后面重启系统生效

    四:网络配置
    # systemctl stop NetworkManager --停止服务
    # systemctl status NetworkManager --查看状态,确认为关闭了
    # systemctl disable NetworkManager --设置为开机不自动启动
    # vim /etc/sysconfig/network-scripts/ifcfg-enp2s0 --网卡名如果不一样,找到对应的文件就行
    BOOTPROTO="static"
    NAME="enp2s0"
    DEVICE="enp2s0"
    ONBOOT="yes"
    IPADDR=172.16.13.X
    NETMASK=255.255.255.0
    GATEWAY=172.16.13.254
    DNS1=114.114.114.114
    # /etc/init.d/network restart --network服务这里默认还是可以使用原来的管理方法
    # chkconfig network on

    五:yum配置
    # cd /etc/yum.repos.d/
    # wget http://mirrors.163.com/.help/CentOS7-Base-163.repo


    配置可选epel源
    # wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm --此版本信息会随时间推移而变化
    # rpm -ivh epel-release-7-10.noarch.rpm
    # yum clean all
    # yum makecache fast

    六:输入法配置
    默认只有拼音中文输入法,需要使用极点五笔输入法,安装过程如下:
    # yum install ibus ibus-table-chinese-wubi-jidian
    安装完后,需要右上角把用户注销重登录
    左上角applications--system tools -- settions -- Region & Language -- +或-你的输入法就可以了
    加完之后,使用super+space键进行切换

    七:时间同步
    # yum install ntp ntpdate --安装ntp时间同步相关软件包
    # vim /etc/ntp.conf --确认配置文件里有下列的时间同步源
    server 0.rhel.pool.ntp.org iburst
    server 1.rhel.pool.ntp.org iburst
    server 2.rhel.pool.ntp.org iburst
    server 3.rhel.pool.ntp.org iburst
    # systemctl enable ntpd --设置开机自动启动ntpd
    # systemctl start ntpd --立即启动ntpd服务
    # date --确认时间与现在时间一致
    # ntpdate 0.rhel.pool.ntp.org --如果还没有同步成功,你可以用此命令手动同步一下

    八:有些命令的参数可以自动补全,如果不能补全,则安装下面的命令(可能需要注销一下)
    # yum install bash-completion

    九:vnc的配置
    # vncpasswd --设定vcn连接的密码
    Password:
    Verify:
    # x0vncserver --PasswordFile=/root/.vnc/passwd --AlwaysShared=on --AcceptKeyEvents=off AcceptPointerEvents=off &> /dev/null &

    十:桌面锁屏
    左上角applications--system tools -- settions -- Privacy 设置是否自动锁屏
    手动锁屏
    super+l

    十一:图形界面快捷键修改
    左上角applications--system tools -- settions -- Keyboard -- Shortcuts 去修改自己习惯的快捷键

    十二:设置默认启动级别为图形模式(相当于以前的5级别)
    # systemctl get-default --查看当前的运行模式
    # systemctl set-default graphical.target --设置图形模式为默认模式

    ulimit(选项)

    选项

    -a:显示目前资源限制的设定;
    -c <core文件上限>:设定core文件的最大值,单位为区块;
    -d <数据节区大小>:程序数据节区的最大值,单位为KB;
    -f <文件大小>:shell所能建立的最大文件,单位为区块;
    -H:设定资源的硬性限制,也就是管理员所设下的限制;
    -m <内存大小>:指定可使用内存的上限,单位为KB;
    -n <文件数目>:指定同一时间最多可开启的文件数;
    -p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
    -s <堆叠大小>:指定堆叠的上限,单位为KB;
    -S:设定资源的弹性限制;
    -t <CPU时间>:指定CPU使用时间的上限,单位为秒;
    -u <程序数目>:用户最多可开启的程序数目;
    -v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。

    在我的centos 6.3 32位系统输入 ulimit -a 结果如下

    ulimit -n

    问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题。
    在Linux下一切资源皆文件,普通文件是文件,磁盘打印机是文件,socket 当然也是文件。系统默认设置成1024,但是这个数字对于服务器特别是大并发的远远是不够的,所以,我们需要结合实际情况修改成一个更大更合理的值。

    修改方法

    vim /etc/security/limits.conf

    1
    2
    3
    # 确认包含下面的内容:
    * soft nofile 65536
    * hard nofile 65536

    保存,然后重启
    注:65536 是我这边的设定值,读者也可以自行设置一个合适的值,* 代表针对所有用户
    同时还有个要注意的值 file-max 是设置 系统所有进程一共可以打开的文件数量 ,可以通过如下方法进行修改
    echo 100000 > /proc/sys/fs/file-max
    或修改 /etc/sysctl.conf, 加入
    fs.file-max = 100000 重启生效

    另外还有一个,/proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量

    ulimit -u
    比如我们在模拟大规模http并发测试的时候,客户端会报一个无法fork new proc异常,原因是受到了最大进程1024的限制
    解除 Linux 系统的最大进程数
    方法如下
    vim /etc/security/limits.d/90-nproc.conf

    1
    2
    3
    # 添加如下的行
    *          soft    nproc     10240
    root       soft    nproc     unlimited
  • 相关阅读:
    Mysql----8 联表查询 嵌套查询 inner join on left join on right join on
    Mysql---7 where 条件语句
    Mysql---6 Select 查询数据的方式
    Mysql---5(DML) 外键constraint不推荐 表中数据的insert into values update set where delete from where truncate
    Mysql---4 修改表字段操作(增,删,改,重命名)
    Mysql ---3创建表
    小米r3g旧版开发版固件,安装opkg
    git clone
    2.使用vue ui命令快速构建应用
    动态加载css,js
  • 原文地址:https://www.cnblogs.com/kaishirenshi/p/9035464.html
Copyright © 2011-2022 走看看