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

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

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-15 09:31:40 | 显示全部楼层 |阅读模式
centos 6 mini安装(内容极其精简)
红帽官方中文文档
http://docs.redhat.com/docs/zh-C ... se_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)
setuptool        Python的 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 jiankongbao 60.195.249.83  “rocommunity”表示这是一个只读的访问权限,监控宝只可以从你的服务器上获取信息,而不能对服务器进行任何设置
“jiankongbao”相当于密码
如果您使用的是插件 此处的ip 应该安装采集器的机器的ip

rocommunity jiankongbao 60.195.252.107
rocommunity jiankongbao 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/ ... ease-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/rpmfor ... 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-126986-1-1.html 上篇帖子: 硬盘安装Centos7可能遇到的一些问题 下篇帖子: RHEL 6.4使用CentOS 6.4 yum源更新-i386的脚本 系统优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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