CentOS   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了centos6.6 系统优化总结大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

系统优化总结 1.修改ip地址、网关、主机名、DNS等 2.关闭selinux,清空iptables (一般工作场景有wan ip就要打开iptables,但高并发除外) 3.添加普通用户.通过sudo授权管理。 4.配置yum更新源 5.定时自动更新服务器时间 6.精简开机自启动服务(crond.sshd.network,syslog保留) 7.定时自动清理/var/spool/clientmq

系统优化总结

1.修改ip地址、网关、主机名、DNS

2.关闭selinux,清空iptables (一般工作场景有wan ip就要打开iptables,但高并发除外)

3.添加普通用户.通过sudo授权管理。

4.配置yum更新源

5.定时自动更新服务器时间

6.精简开机自启动服务(crond.sshd.network,syslog保留)

7.定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满

8.更改认的SSH服务端口,及禁止root用户远程连接

9.锁定关键系统文件

chattr +i /etc/passwd

chattr +i /etc/inittab

chattr +i /etc/group

chattr +i /etc/shadow

chattr -i /etc/passwd /etc/passwd解锁

处理完后对chattr进行改名

which chattr

mv /usr/bin/chattr /usr/bin/dingjian

可以防止黑客对系统的修改和攻击

10.调整文件描述符大小

11.更改字符集,支持中文

12.清空/etc/issue去除系统及内核版本登录前的屏幕显示

13.内核优化/etc/sysctl.conf sysctl -p生效

<>修改ip地址、网关、主机名、DNS

vi/etc/sysconfig/network-scripts/ifcfg-eth0#修改IP、网关、DNS

vi /etc/sysconfig/network #修改主机名:

hostname dingjian #临时修改主机名,重登生效

vi /etc/resolv.conf #修改DNS

service network restart /etc/init.d/network restart #重启网络生效

<>关闭selinux,清空iptables

1.关闭selinux

修改配置文件需要重启机器:

修改/etc/selinux/config 文件

vim /etc/selinux/config

SELINUX=enforcing改为SELINUX=disabled

或者:

sed -i's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config #修改配置文件永久生效,但必须重启系统

grep SELINUX=disabled/etc/selinux/config #查看更改后的结果

★临时关闭(不用重启机器)

setenforce 0 #设置SELinux 成为permissive模式

#setenforce 1 设置SELinux 成为enforcing模式

getenforce #查看selinux当前状态

2.清空iptables

iptables �CF #清理防火墙规则

iptables �CL #查看防火墙规则

/etc/init.d/iptables save #保存防火墙配置信息

<>添加普通用户.通过sudo授权管理

useradd tom #新建tom用户

passwd tom 或者echo 123456 | passwd --stdin tom #tom用户加密码

visudo 授权管理见:http://blog.dingjian.me/20131103/124.html

<>、配置yum更新源

centos5.8 :

cd /etc/yum.repos.d #进入yum.repos.d目录

mv CentOS-Base.repoCentOS-Base.repo.back #备份CentOS-Base.repo

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo #下载sohu

或者

wgethttp://mirrors.163.com/.help/CentOS5-Base-163.repo #下载163

yum clean all #清空yum缓存

yum makecache #建立yum缓存

rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY* #导入签名KEYRPM

yumupgrade-y #更新系统内核到最新

yum --exclude=kernel* update #更新系统软件而不更新内核

yum install lrzsz ntpdate sysstat -y #安装几个必要的软件了

centos6.4源的下载地址是:http://mirrors.163.com/.help/CentOS6-Base-163.repo

<>、定时自动更新服务器时间

使用ntpdate命令进行更新:

ntpdate 210.72.145.44 #是中国国家授时中心的官方服务器

计划任务自动同步时间

echo '#time sync by dingjian at 2013-10-24'>>/var/spool/cron/root

echo '*/5****/sbin/ntpdate time.nist.gov>/dev/null 2>&1'>>/var/spool/cron/root

echo '*/5****/sbin/ntpdate 210.72.145.44>/dev/null 2>&1'>>/var/spool/cron/root

echo '*/5****/sbin/ntpdate time.windows.com>/dev/null 2>&1'>>/var/spool/cron/root

提示CentOS 6.4的时间同步命令路径不一样 centos6/usr/sbin/ntpdate ;centos5/sbin/ntpdate

扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server

<>、精简开机自启动服务(crond.sshd.network,syslog保留)Centos6.4rsyslog

centos5.8方法

LANG=en

for dingjian in `chkconfig --list|grep3:on|awk '{print $1}'`;do chkconfig --level 3 $dingjian off;done

#把所有的启动项全关

for dingjian in crond network syslog sshd;dochkconfig --level 3 $dingjian on;done

#只打开这四个启动启

chkconfig --list |grep 3:on #只查看3级别的运行状态

centos6.4方法:

LANG=en

for dingjian in `chkconfig --list|grep3:on|awk '{print $1}'`;do chkconfig --level 3 $dingjian off;done

#把所有的启动项全关

for dingjian in crond network rsyslogsshd;do chkconfig --level 3 $dingjian on;done

#只打开这四个启动启

chkconfig --list |grep 3:on #只查看3级别的运行状态

<>、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满

手动清理方法

find /var/spool/clientmqueue/ -type f|xargs rm -f

自动清理方法

[root@dingjian ~]# mkdir /server/scripts -p

[root@dingjian ~]# vi/server/scripts/spool_clean.sh

#!/bin/sh

find /var/spool/clientmqueue/ -type f|xargs rm -f

然后将其加入到crontab定时任务中

echo '*/30 * * * * /bin/sh/server/scripts/spool_clean.sh >/dev/null 2>&1' >>/var/spool/cron/root

crontab -l #检查一下定时任务

注意:

centos5.8认没有clientmqueue

centos6.4的,要先安装sendmail才能有/var/spool/clientmqueue/这个目录

[root@iter ~]# yum install sendmail -y

<>、更改认的SSH服务端口,及禁止root用户远程连接

[root@dingjian ~]# cp /etc/ssh/sshd_config/etc/ssh/sshd_config.bak

[root@dingjian ~]# vim /etc/ssh/sshd_config

Port 2000 #ssh连接认的端口

PermitRootLogin no #root用户黑客都知道,禁止它远程登录

PermitEmptyPasswords no #禁止空密码登录

UseDNS no #不使用DNS

[root@dingjian ~]# /etc/init.d/sshd reload #从新加载配置

[root@dingjian ssh]# netstat -lnt #查看一下端口

[root@dingjian ssh]# lsof -i :2000 #己知端口查服务

[root@iter ~]# netstat -an|grep -i est #查看连接状态

<>、锁定关键系统文件chattr+i /etc/passwd

chattr +i /etc/inittab

chattr +i /etc/group

chattr +i /etc/shadow

chattr -i /etc/passwd /etc/passwd解锁

可以防止黑客对系统的修改和攻击

<>、调整文件描述符大小

[root@dingjian ~]# ulimit -n #查看文件描述符大小

65535

[root@dingjian ~]# echo '* - nofile65535'>>/etc/security/limits.conf

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

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

[root@dingjian ~]cat>>/etc/rc.local<<EOF

#open files

ulimit -HSn 65535

#stack size

ulimit -s 65535

EOF

<十一>、更改字符集,支持中文

cp /etc/sysconfig/i18n/etc/sysconfig/i18n.bak #备份i18n

echo 'LANG="ZH_CN.GB18030"' >/etc/sysconfig/i18n #更改字符集为ZH_CN.GB18030

source /etc/sysconfig/i18n #使i18n配置生效

echo $LANG #输出查看字符集信息

<十二>、清空/etc/issue去除系统及内核版本登录前的屏幕显示

>/etc/issue #清空登陆显示的信息

echo"welcome!">/etc/issue vi /etc/issue #修改系统登陆时显示的信息

<十三>、内核优化/etc/sysctl.conf sysctl -p生效

本优化适合apacheNginxsquid多种等web应用,特殊的业务也可能需要略作调整。

centos5.8内核优化:

[root@dingjian scripts]# vi/etc/sysctl.conf #把以下的参数加到最后面

#by dingjian in 20131106

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

[root@dingjian scripts]# sysctl -p

重新加载内核参数

centos6.4内核优化

[root@dingjian scripts]# vi/etc/sysctl.conf #把以下的参数加到最后面

#by dingjian in 20131106

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.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established= 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait= 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait= 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait= 120

[root@dingjian scripts]# sysctl -p

重新加载内核参数

centos5.8centos6.4中防火墙的优化有些不一样

如果iptables防火墙的优化报错,这个错误可能是你的防火墙没有开启或者自动处理可载入的模块ip_conntrack没有自动载入,解决办法有二,一是开启防火墙,二是自动处理开载入的模块ip_conntrack

modprobe ip_conntrack

echo "modprobe ip_conntrack">> /etc/rc.local

大佬总结

以上是大佬教程为你收集整理的centos6.6 系统优化总结全部内容,希望文章能够帮你解决centos6.6 系统优化总结所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: