zoukankan      html  css  js  c++  java
  • centos7 初始系统优化+及目录讲解

    CentOS 7系统安装后的基础优化

    一、系统版本内核信息

    [root@center ~]# cat /etc/redhat-release
    
    CentOS Linux release 7.3.1611 (Core)
    
    [root@center ~]# uname -a
    
    Linux center 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    
    [root@center ~]# uname -m 系统信息
    
    x86_64
    
    [root@center ~]# uname -r 内核版本信息
    
    3.10.0-514.2.2.el7.x86_64

    二、修改主机名

    [root@localhost ~]# hostnamectl --static set-hostname zhongshabi 需要退出当前用户登录窗口再重新登录后

    三、配置yum

    https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 清华源
    
    http://mirrors.163.com/.help/centos.html 163 源
    
    http://mirrors.aliyun.com/repo/Centos-7.repo 阿里云源
    
     
    
    yum clean all 清空yum缓存
    
    yum makecache

    四、关闭SELinuxiptables

    SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

    SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。

    SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

    注意:如果不关闭会导致很多服务及应用无法正常工作,都被拦截了

    例子:上次重做高仿服务器时,就因为忽略了这个selinux导致本地host解析后网站就是打不开

    关闭方法

    1、当前关闭,服务器重启后失效

    [root@zhongshabi ~]# getenforce 获取当前selinux
    
    Enforcing
    
    [root@zhongshabi ~]# setenforce 0 修改当前selinux 值设置成0或者1
    
    [root@zhongshabi ~]# getenforce
    
    Permissive # 宽松的

    2、配置文件修改selinux,修改配置文件,重启服务器生效

    SELINUX=disabled # 修改为disabled即可,默认为Enforcing
    
    # SELINUXTYPE= can take one of three two values:
    
    #     targeted - Targeted processes are protected,
    
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    
    #     mls - Multi Level Security protection.
    
    SELINUXTYPE=targeted

    五、同步服务器时间

    安装工具

    yum install ntpdate -y  

    ntpdate 时间服务器有很多,可以网上搜索一下

    ntpdate 192.168.1.80 同步服务器时间。192.168.1.80 是我们自己做的一个时间服务器

    可以写入到crontab中定期同步

    六、文件描述符

    扩展:文件描述符

    文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。

    但是文件描述符这一概念往往只适用于UnixLinux这样的操作系统。

    习惯上,标准输入(standard input)的文件描述符是 0

    标准输出(standard output)是 1

    标准错误(standard error)是 2

    尽管这种习惯并非Unix内核的特性,但是因为一些 shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。

    [root@localhost ~]# ulimit n    

    1024    #查看文件描述符大小1024

    [root@localhost ~]# ulimit -n 65536

    [root@localhost ~]# ulimit -n

    65536 临时生效

    [root@localhost ~]# echo '*  -  nofile  65536' >> /etc/security/limits.conf

    配置完成后,重新登录即可查看。

    提示:也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效

    [root@c64 ~]# cat >>/etc/rc.local<<EOF
    
    #open files
    
    ulimit -HSn 65535
    
    #stack size
    
    ulimit -s 65535
    
    EOF
    
     
    
     
    
    * -    nofile  65536  
    
    * - nproc  65536  
    
     
    
    或者
    
     
    
    * soft    nofile  65536  
    
    * hard    nofile  65536  
    
    * soft nproc  65536
    
    * hard nproc  65536
    
     
    
     
    
    soft nproc: 可打开的文件描述符的最大数(软限制)
    
    hard nproc: 可打开的文件描述符的最大数(硬限制)
    
    soft nofile:单个用户可用的最大进程数量(软限制)
    
    hard nofile:单个用户可用的最大进程数量(硬限制)
    
     

    七、配置linux内核参数

    [root@zhongshabi ~]# vim /etc/sysctl.conf 内核参数配置文件
    
    #关闭ipv6
    
    net.ipv6.conf.all.disable_ipv6 = 1
    
    net.ipv6.conf.default.disable_ipv6 = 1
    
    #避免放大攻击
    
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    
    #开启恶意icmp错误消息保护
    
    net.ipv4.icmp_ignore_bogus_error_responses = 1
    
    #关闭路由转发
    
    net.ipv4.ip_forward = 0 开起路由转发将0改为1即可
    
    net.ipv4.conf.all.send_redirects = 0
    
    net.ipv4.conf.default.send_redirects = 0
    
    #开启反向路径过滤
    
    net.ipv4.conf.all.rp_filter = 1
    
    net.ipv4.conf.default.rp_filter = 1
    
    #处理无源路由的包
    
    net.ipv4.conf.all.accept_source_route = 0
    
    net.ipv4.conf.default.accept_source_route = 0
    
    #关闭sysrq功能
    
    kernel.sysrq = 0
    
    #core文件名中添加pid作为扩展名
    
    kernel.core_uses_pid = 1
    
    #开启SYN洪水攻击保护
    
    net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为1,表示开启的; 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数
    
    net.ipv4.tcp_max_syn_backlog = 262144
    
    #修改消息队列长度
    
    kernel.msgmnb = 65536
    
    kernel.msgmax = 65536
    
    #设置最大内存共享段大小bytes
    
    kernel.shmmax = 68719476736
    
    kernel.shmall = 4294967296
    
    #timewait的数量,默认180000
    
    net.ipv4.tcp_max_tw_buckets = 6000
    
    net.ipv4.tcp_sack = 1
    
    net.ipv4.tcp_window_scaling = 1
    
    net.ipv4.tcp_rmem = 4096  87380   4194304 TCP读buffer,可参考的优化值: 32768 436600 873200 net.ipv4.tcp_wmem = 4096  16384   4194304 tcp写buffer,可参考的优化值: 8192 436600 873200
    
    net.core.wmem_default = 8388608 TCP写buffer的默认值
    
    net.core.rmem_default = 8388608 TCP读buffer的默认值
    
    net.core.rmem_max = 16777216 TCP写buffer的最大值
    
    net.core.wmem_max = 16777216 TCP写buffer的最大值
    
    #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
    
    net.core.netdev_max_backlog = 262144
    
    #限制仅仅是为了防止简单的DoS 攻击
    
    net.ipv4.tcp_max_orphans = 3276800
    
    #未收到客户端确认信息的连接请求的最大值
    
    net.ipv4.tcp_max_syn_backlog = 262144
    
    net.ipv4.tcp_timestamps = 0
    
    #内核放弃建立连接之前发送SYNACK 包的数量
    
    net.ipv4.tcp_synack_retries = 1
    
    #内核放弃建立连接之前发送SYN 包的数量
    
    net.ipv4.tcp_syn_retries = 1
    
    #启用timewait 快速回收 net.ipv4.tcp_tw_recycle = 1
    
    #开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接
    
    net.ipv4.tcp_tw_reuse = 1
    
    net.ipv4.tcp_mem = 94500000 915000000 927000000
    
    net.ipv4.tcp_fin_timeout = 1
    
    #当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时
    
    net.ipv4.tcp_keepalive_time = 30
    
    #允许系统打开的端口范围
    
    net.ipv4.ip_local_port_range = 1024    65000
    
    #修改防火墙表大小,默认65536
    
    #net.netfilter.nf_conntrack_max=655350
    
    #net.netfilter.nf_conntrack_tcp_timeout_established=1200
    
    #确保无人能修改路由表
    
    net.ipv4.conf.all.accept_redirects = 0
    
    net.ipv4.conf.default.accept_redirects = 0
    
    net.ipv4.conf.all.secure_redirects = 0
    
    net.ipv4.conf.default.secure_redirects = 0
    
     
    
    [root@zhongshabi ~]# sysctl -p  保存生效

    八、服务器根目录文件名都代表什么意思

    1.bin是系统有很多放置执行文件的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。/bin底下的指令可以被root与一般账号所使用,主要有:cat,chmod,chown,date,mv,mkdir.cp,bash等常用的指令

    2.boot这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需配置文件等等。Linux kernel常用的档名为:vmlinuz,如果使用的是gurb这个开机管理程序,则还会存在/boot/gurb这个目录

    3.dev任何装置与接口设备都是以档案的型态存在于这个目录中的。

    4.etc系统主要的配置文件几乎都放置在这个目录内,

    5.home这是系统默认的用户家目录(home directory)

    6.lib放置的则是在开机时会用到的函式库

    8.media底下放置的就是可移除的装置,包括软盘、光盘、DVD等等装置都暂时挂载于此。常见的档名有: /media/floppy, /media/cdrom等等。 

    9.mnt暂时挂载某些额外的装置

    10.opt这个是给第三方软件放置的目录。

    11.proc这个目录本身是一个『虚拟文件系统(virtual filesystem)』,他放置的数据都是在内存当中,例如系统核心、行程信息(process)、周边装置的状态及网络状态等等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间,比较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。 

    12.root系统管理员(root)的家目录。

    13.sbinLinux有非常多指令是用来设定系统环境的,

    14.tmp这是让一般用户或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。

    15.srv可以规为『service』的缩写,是一些网络服务吪启动后,这些服务所需要取用的数据目录。

    16.sys这个目录其实跟/proc非常类似也是一个虚拟的文件系统,主要也是记录与核心的相关的信息。

    17.usr是『Unix 操作系统软件资源』所放置的目录

    18.var 是在系统运作后才会渐渐占用硬盘容量的目录。用于存储

  • 相关阅读:
    mouse_event模拟鼠标滚轮
    润乾报表配置技术路线
    建筑 物件 开心背单词 读句子,单词,字母,看图例, 翻译,看动画
    文字过渡动画,曲线过渡动画,,使用这个插件assign shape keys
    运动锻炼 开心背单词 读句子,单词,字母,看图例, 翻译,看动画,学英语,轻松背单词,简单背单词
    blender293 内置插件 精度绘画控件,PDT学习003,pdt tangents 切线
    日常用品 背单词 读句子 看图片 读单词 读字母 翻译, 看动画 学英语
    blender293 内置插件 精度绘画控件,PDT学习 precision drawing tools
    乔布斯 背单词 02 读句子 单词 字母 翻译,看动画 学英语 名言 我菜顾我在,我菜故我在,blender加python
    狐狸 和 乌鸦 英语 朗读句子 背单词
  • 原文地址:https://www.cnblogs.com/Upward-man/p/10320311.html
Copyright © 2011-2022 走看看