Linux服务器 CentOS 6系列最小化安装优化脚本详解01————yum优化、优化启动服务、调整TTY数量、调整TCP/IP网络参数

Linux服务器 CentOS 6系列最小化安装优化脚本详解01————yum优化、优化启动服务、调整TTY数量、调整TCP/IP网络参数

前言

当最小化安装CentOS 6系列时,在使用过程中,可以基于性能和安全做一些优化,篇幅较多,这里我分篇幅写,希望各位大佬批评指正。
完整的脚本晚些时候会上传至github的。

yum优化

CentOS自带的yum源在国内使用,速度十分缓慢。一般运维人员可以将其更换为国内的yum源。使用网易源或者阿里云都是可以。这里我使用网易源。

详细步骤:

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache   #重建yum缓存
# yum update    #升级Linux系统(系统升级的操作根据各自业务的需求进行选择,部分公有云平台不建议升级)

企业版 Linux 附加软件包(以下简称 EPEL)是一个由特别兴趣小组创建、维护并管理的,针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS、Scientific Linux、Oracle Enterprise Linux)的一个高质量附加软件包项目。

增加epel源,详细操作步骤:
(1)下载rpm文件进行安装,命令如下:

cd /usr/local/src   #用户存放源码程序的位置,可以任意放置
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

(2)安装yum-priorities源优先级工具
Linux 发行版比较多,同时还有很多个人或组织维护了某些特定用途的安装/升级源。Yum Priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如 Linux 发行版的官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。
用来给yum源分优先级的。比如你在centos下有centos,epel,rpmfusion三个yum源。三个yum源中可能含有相同的软件,补丁之类的东西。yum管理器为了分辨更新系统或者安装软件的时候用那个yum源的软件所以才有这么个东西。如果说,设置centos官方的yum源优先级最高,epelyum源第二,rpmfusion第三。(用1到99来表示,1最高)那在安装程序的时候,先寻找centos的yum源,如果源里面有要的程序,那就停止寻找,直接安装找到的,如果没有找到,就依次寻找epel和rpmfusion的源。
如果说三个yum源都含有同一个软件,那就安装优先级最高的yum源的。

添加yum源优先级需要在对于的repo文件末尾添加:priority=优先级数字

命令如下:

yum install yum-priorities

如果要开启yum源的优先级功能,就要先确保priorities.conf文件配置正确。

[root@private src]# cat /etc/yum/pluginconf.d/priorities.conf
[main]
enabled = 1

关闭不必要的服务

众所周知,服务越少,系统占用的资源就会越少,所以应当关闭不必要的服务。这样可以极大的节省内存和CPU资源占用。

首先查看系统中存在哪些已经启动了的服务,查看命令:ntsysv
使用该命令会出现Linux字符图形显示目前已经自启动的服务。

服务器根据业务所需进行调整,列出几个需要启动的服务:

  • crond:自动计划任务
  • network:Linux系统的网络服务
  • sshd:OpenSSH服务器守护进程
  • rsyslog:Linux的日志系统服务(CentOS5.8以下叫做syslog)

关闭不必要的TTY

需要修改"/etc/init/start-ttys.conf"文件
查看该文件内容:

[root@private ~]# cat /etc/init/start-ttys.conf 
#
# This service starts the configured number of gettys.
#
# Do not edit this file directly. If you want to change the behaviour,
# please create a file start-ttys.override and put your changes there.

start on stopped rc RUNLEVEL=[2345]

env ACTIVE_CONSOLES=/dev/tty[1-6]
env X_TTY=/dev/tty1
task
script
    . /etc/sysconfig/init
    for tty in $(echo $ACTIVE_CONSOLES) ; do
        [ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
        initctl start tty TTY=$tty
    done
end script

这段代码使init打开了6个控制台,可分别用ALT+F1到ALT+F6进行访问。此6个控制台默认都驻留在内存中,可以使用ps aux命令查看。

[root@private ~]# ps aux | grep tty | grep -v grep
root       1582  0.0  0.0   4064   548 tty1     Ss+  12:58   0:00 /sbin/mingetty /dev/tty1
root       1584  0.0  0.0   4064   548 tty2     Ss+  12:58   0:00 /sbin/mingetty /dev/tty2
root       1586  0.0  0.0   4064   548 tty3     Ss+  12:58   0:00 /sbin/mingetty /dev/tty3
root       1588  0.0  0.0   4064   548 tty4     Ss+  12:58   0:00 /sbin/mingetty /dev/tty4
root       1590  0.0  0.0   4064   548 tty5     Ss+  12:58   0:00 /sbin/mingetty /dev/tty5
root       1592  0.0  0.0   4064   552 tty6     Ss+  12:58   0:00 /sbin/mingetty /dev/tty6
[root@private ~]#

事实上没有必要使用这么多,可以关闭不用的进程,通常保留两个控制台即可。
需要修改的操作流程:
1.打开"/etc/init/start-ttys.conf",其中有:"env ACTIVE_CONSOLES=/dev/tty[1-6]"
需要将其修改为:"env ACTIVE_CONSOLES=/dev/tty[1-2]"
2.打开"/etc/sysconfig/init "文件,其中有:"ACTIVE_CONSOLES=/dev/tty[1-6]",将其修改为
"ACTIVE_CONSOLES=/dev/tty[1-2]"

可以使用sed命令直接修改:

sed -i "/env ACTIVE/ s/6/2/" /etc/init/start-ttys.conf 
sed -i "/ACTIVE_CONSOLES/ s/6/2/" /etc/sysconfig/init 

修改完成后,需要重启机器

调整TCP/IP网络参数

调整TCP/IP网络参数,可以加强对抗SYN Flood的能力。

SYN Flood是一种广为人知的DoS(拒绝服务攻击)是DDoS(分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
从防御角度来说,有几种简单的解决方法:第一种是缩短SYN Timeout时间;第二种方法是设置SYN Cookie;
net.ipv4.tcp_syncookies = 1
表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为 0,表示关闭。

使用命令:

[root@private shell]# echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf 
[root@private shell]# sysctl -p
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,110评论 2 34
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,042评论 0 8
  • 背景: 阅读新闻 12C CDB模式下RMAN备份与恢复 [日期:2016-11-29] 来源:Linux社区 作...
    阳屯okyepd阅读 3,309评论 0 7
  • rvm是什么?为什么要安装rvm呢,因为rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。 第...
    Chars阅读 1,275评论 0 0
  • postgresql连接查询 1.创建表a create table a(id integer primary k...
    LOOK_LOOK阅读 357评论 0 0