设为首页 收藏本站
查看: 551|回复: 0

[经验分享] CentOS6.7系统优化操作流程

[复制链接]

尚未签到

发表于 2018-4-28 10:38:33 | 显示全部楼层 |阅读模式
  centos 6 mini安装(内容极其精简)
  红帽官方中文文档
  http://docs.redhat.com/docs/zh-CN/Red_Hat_Enterprise_Linux/index.html
  

  默认邮件服务器就是postfix
  升级系统
  # yum  install  epel-release -y
  # yum update
  

  精简服务
  1、chkconfig ip6tables off 关闭ipv6防火墙
  2、chkconfig iscsi off     关闭iscsi服务
  3、chkconfig iscsid off关闭iscsi相关服务
  4、chkconfig netfs off关闭NFS,smaba和NetWare网络文件系统
  5、chkconfig auditd off   linux的审计功能
  6、chkconfig nfslock off关闭TCP/IP网络共享文件的协议的NFS的文件锁功能
  7、chkconfig rpcgssd off关闭 NFS v4
  8、chkconfig rpcbind off关闭RPC服务
  9、chkconfig rpcidmapd off关闭 NFS v4
  10、chkconfig lvm2-monitor off关闭系統对Logical Volume Manager 逻辑磁区的支持
  11、chkconfig lldpad off关闭邻近发现协议
  

  安装基本配置程序(cronie 为安装Cron)
  # yum install -y setuptool ntsysv system-config-firewall-tui system-config-network-tui cronie wget vim unzip openssh-clients screen rsync ftp telnet (13)
  setuptoolPython的 distutilsde工具的增强工具(py2.3.5以上 64位py2.4)
  ntsysv设置系统的各种服务
  system-config-firewall-tui命令行用户接口(TUI)的防火墙客户端
  system-config-network-tui  安装Fedora网络配置的工具
  

  记录每次bash命令的执行时间
  vi /etc/profile
  这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
  

  加入(centos6最好加到第54行)
  HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
  export HISTTIMEFORMAT
  

  

  

  安全配置
  禁用selinux
  编辑# vi /etc/selinux/config
  /etc/selinux/config是/etc/sysconfig/selinux软连接的一个原文件 提供强制访问控制(MAC)安全系统
  SELINUX=disabled
  

  su加固
  编辑配置文件
  # vi /etc/pam.d/su
  

  大约第六行去掉#
  #auth            required        pam_wheel.so use_uid
  禁用非wheel用户是用su
  

  

  

  运行
  # echo "SU_WHEEL_ONLY yes" >> /etc/login.defs
  SU_WHEEL_ONLY yes 只允许wheel用户su到root
  

  /etc/login.defs  设置用户帐号限制的文件,在这里我们可配置密码的最大过期天数,密码的最大长度约束等内容。该文件里的配置对root用户无效。
  

  

  设置可以su的用户到wheel组
  # useradd -G wheel yezhiqiu
  # passwd yezhiqiu
  

  

  SSH部分
  # vim  /etc/ssh/sshd_config
  配置sshd服务器
  

  修改端口号
  大约第13行
  1、Port 58022   定义ssh的连接端口
  

  不允许用root进行登录
  大约第42行
  2、PermitRootLogin no
  

  不允许空密码登录
  大约第65行
  3、PermitEmptyPasswords no
  

  禁用DNS
  大约第81行
  4、GSSAPIAuthentication no
  

  大约第122行
  5、UseDNS no
  

  最后一行只允许指定用户登录ssh
  6、AllowUsers yezhiqiu
  

  编辑防火墙文件
  # vi /etc/sysconfig/iptables
  加入
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 58022 -j ACCEPT
  重启服务
  # /etc/init.d/sshd restart
  # /etc/init.d/iptables restart
  

  添加监控宝的snmpd监控
  # yum -y install net-snmp  是一个免费的、开放源码的网络监控
  

  

  # vi /etc/snmp/snmpd.conf
  # ------添加监控宝账号------
  rocommunity iyunv 60.195.249.83  “rocommunity”表示这是一个只读的访问权限,监控宝只可以从你的服务器上获取信息,而不能对服务器进行任何设置
  “iyunv”相当于密码
  如果您使用的是插件 此处的ip 应该安装采集器的机器的ip
  

  rocommunity iyunv 60.195.252.107
  rocommunity iyunv 60.195.252.110
  重启服务
  # /etc/init.d/snmpd start
  # chkconfig snmpd on
  

  修改防火墙配置
  # vi /etc/sysconfig/iptables
  # ------添加防火墙规则------
  -A INPUT -p udp -m udp --dport 161 -j ACCEPT
  开启udp协议
  

  重启防火墙
  # /etc/init.d/iptables restart
  

  校时
  # yum install -y ntp
  # /usr/sbin/ntpdate time.nist.gov  IP为时间服务器IP
  硬件同步
  # /sbin/hwclock --systohc
  

  加入备份脚本
  # crontab -e
  5 */6 * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1
  

  有些机房禁用UDP 可以使用rdate
  

  # yum install -y rdate
  5 */6 * * * /usr/bin/rdate -s stdtime.gov.hk > /dev/null 2>&1
  

  安装第三方软件仓库
  EPEL
  # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  # rpm -ivh epel-release-6-8.noarch.rpm
  修改enabled = 0默认不启用
  # vim  /etc/yum.repos.d/epel.repo
  # yum --enablerepo=epel -y install htop pbzip2
  

  

  rpmforge逐步淘汰不用
  # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  # rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
  修改enabled = 0默认不启用
  # vim /etc/yum.repos.d/rpmforge.repo
  # yum --enablerepo=rpmforge -y install htop unrar axel
  htop实时监控
  unrar 压缩软件60%以上压缩比
  axel 一种下载软件  实行分段下载
  

  

  优化Linux内核参数
  # vi /etc/sysctl.conf
  是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。
  

  在末尾增加以下内容:
  引用
  # Add
  1、net.ipv4.tcp_max_syn_backlog = 65536
  表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
  

  2、net.core.netdev_max_backlog =  32768
  每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
  

  3、net.core.somaxconn = 32768
  定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为1024
  

  4、net.core.wmem_default = 8388608
  该文件指定了发送套接字缓冲区大小的缺省值(以字节为单位)。
  

  5、net.core.rmem_default = 8388608
  该文件指定了接收套接字缓冲区大小的默认值(以字节为单位)
  

  6、net.core.rmem_max = 16777216
  指定了接收套接字缓冲区(接收窗口)大小的最大值(以字节为单位)   最大的TCP数据接收缓冲
  

  7、net.core.wmem_max = 16777216
  指定了发送套接字缓冲区(接收窗口)大小的最大值(以字节为单位)  最大的TCP数据发送缓冲
  

  8、net.ipv4.tcp_timestamps = 0
  以一种比重发超时更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项,时间戳在(请参考RFC 1323)TCP的包头增加12个字节
  

  9、net.ipv4.tcp_synack_retries = 2
  syn-ack握手状态重试次数,默认5,遭受syn-flood(Dos与DDos)攻击时改为1或2
  

  10、net.ipv4.tcp_syn_retries = 2
  外向syn握手重试次数,默认4
  

  11、net.ipv4.tcp_tw_recycle = 1
  默认0,tw快速回收
  12、#net.ipv4.tcp_tw_len = 1
  表示开启重用。允许将TIME-WAIT sockets 重新用于新的TCP连接,默认为0,表示关闭
  

  13、net.ipv4.tcp_tw_reuse = 1
  表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
  

  14、net.ipv4.tcp_mem = 94500000 915000000 927000000
  确定 TCP 栈应该如何反映内存使用;每个值的单位都是内存页(通常是 4KB)。第一个值是内存使用的下限。第二个值是内存压力模式开始对缓冲区使用应用压力的上限。
  第三个值是内存上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(但是要记住,其单位是内存页,而不是字节)
  

  15、net.ipv4.tcp_max_orphans = 3276800
  系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。
  这个限制仅仅是为了防止简单的DoS攻击,你绝对不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)
  

  16、#net.ipv4.tcp_fin_timeout = 30
  表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
  17、#net.ipv4.tcp_keepalive_time = 120
  表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
  

  18、net.ipv4.ip_local_port_range = 1024  65535
  指定端口范围的一个配置,默认是32768 61000
  

  

  目前可以确定的是
  #######
  19、fs.aio-max-nr = 1048576
  同时可以拥有的的异步IO请求数目
  

  20、fs.file-max = 6815744
  系统中可以同时打开的文件数目。
  

  

  21、kernel.shmall = 2097152
  参数是控制共享内存页数
  

  22、kernel.shmmax =  536870912
  内核参数定义单个共享内存段的最大值
  

  23、kernel.shmmni = 4096
  整个系统共享内存段的最大数目。
  

  24、kernel.sem = 250 32000 100 128
  表示设置的信号量,这4个参数内容大小固定。
  

  25、net.ipv4.ip_local_port_range = 9000 65500
  表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
  

  26、net.core.rmem_default = 262144
  该文件指定了接收套接字缓冲区大小的默认值(以字节为单位)。
  

  27、net.core.rmem_max = 4194304
  指定了接收套接字缓冲区(接收窗口)大小的最大值(以字节为单位)    最大的TCP数据接收缓冲
  

  28、net.core.wmem_default = 262144
  该文件指定了发送套接字缓冲区大小的缺省值(以字节为单位)。
  

  29、net.core.wmem_max = 1048586
  指定了发送套接字缓冲区(接收窗口)大小的最大值(以字节为单位)    最大的TCP数据发送缓冲
  

  #######
  使配置立即生效:
  /sbin/sysctl -p
  -p   从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载;
  

  调整ulimit
  

  # vi /etc/security/limits.conf
  Linux PAM中 pam_limits.so 的配置文件,而且只针对于单个会话。
  

  在文件末加上:
  *   soft   nofile   65535
  *   hard   nofile   65535
  soft nofile:单个用户可用的最大进程数量(软限制)
  hard nofile:单个用户可用的最大进程数量(硬限制)
  

  # vi /etc/security/limits.d/90-nproc.conf
  修改
  *         soft    nproc    1024
  为
  *         soft    nproc    65535
  

  soft nproc: 可打开的文件描述符的最大数(软限制)
  hard nproc: 可打开的文件描述符的最大数(硬限制)
  

  

  

  设置logwatch发给指定邮箱
  # yum install logwatch -y  logwatch 日志监视器
  # echo "MailTo = yezhiqiu.cn@gmail.com" >>/etc/logwatch/conf/logwatch.conf
  添加
  MailTo = yezhiqiu.cn@gmail.com
  删除对httpd的日志分析在 /usr/share/logwatch/default.conf/logwatch.conf加入大约在86行
  Service = "-http"
  不监控的服务前面加 “-” , 如 -httpd , 即不监控 httpd 服务 , 可以写多条
  

  

  

  如果需要自己编译软件
  # yum install gcc gcc-c++ make automake autoconf patch
  

  

  LAMP服务器做如下步骤:
  # yum --enablerepo=epel install cronolog
  cronolog日志切割工具
  

  # yum install httpd mysql-server
  

  

  # yum install postgresql-devel mysql-devel httpd-devel openssl-devel libxml2-devel zlib-devel curl-devel libmcrypt-devel mhash-devel libjpeg-devel libpng-devel gd-devel freetype-devel libtool-ltdl-devel
  

  # yum install libevent-devel libc-client-devel readline-devel
  

  # yum install libXpm-devel libxslt-devel krb5-devel net-snmp-devel
  

  # cd /usr/lib64
  # ln -s /usr/lib64/mysql/libmysqlclient.so
  # yum install php53 php53-gd php53-devel php53-mbstring php53-mysql php53-xml php53-xmlrpc
  

  

  

  

  附:
  硬件检测:
  # wget http://aspersa.googlecode.com/svn/trunk/summary
  # chmod +x summary
  # ./summary
  

  CentOS升级流程:
  yum clean all
  yum update glibc\* -y
  yum update yum\* rpm\* pyth\* -y
  yum clean all
  yum update mkinitrd nash -y
  yum update selinux\* -y
  yum update -y
  shutdown -r now
  

  

  安装常用附加软件
  # yum install screen sysstat iptraf
  iptraf :CLI 流量监控软件
  screen:远程会话管理
  sysstat:系统性能分析工具包
  

  磁盘IO测试
  yum --enablerepo=rpmforge install iozone
  

  去掉atime提高文件系统性能:
  可以在/etc/fstab中增加,noatime,nodiratime参数
  降低文件系统权限
  nosuid,noexec,nodev参数
  

  杀毒软件
  # yum --enablerepo=epel install clamd
  升级病毒库
  # freshclam --verbose
  # clamscan -i -r /dir
  备选库
  http://rpms.famillecollet.com/
  可以安装在centos5等低版本中安装php-fpm等软件
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-453056-1-1.html 上篇帖子: centos7下安装 python2.7.10 下篇帖子: centos7 初始化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表