系统的基础优化

1. 修改yum源(CentOS6.4 Mini)

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 update wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm yum install yum-priorities
vim /etc/yum/pluginconf.d/priorities.conf
[main]
enabled=1 修改repo文件,设置
priority=n (1 ~ 99,1 最高)

2. 关闭不需要的服务

查看系统中已经启动的服务
ntsysv 图形界面
必须的服务 描述
crond 计划任务
network 网络服务
sshd OpenSSH服务
rsyslog 日志服务(CentOS5.8以下为syslog)

3. 关闭不必要的TTY

默认init开启6个控制台,分别可用alt + F1~6切换访问。6个控制台全部驻留内存。可以查看:

ps aux | grep tty | grep -v grep

通常保留2个就可以了
vim /etc/init/start-ttys.conf
env ACTIVES_ CONSOLES=/dev/tty[1-2] vim /etc/sysconfig/init
ACTIVES_ CONSOLES=/dev/tty[1-2]

4. 调整TCP/IP网络参数

加强对抗SYN flood的能力

echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf
sysctl -p

5. 修改history的记录数

vim /etc/profile
HISTSIZE=100 source /etc/profile

6. 校准时间

yum install ntp
crontab -e
加入
* /5 * * * * /user/sbin/ntpdate ntp.api.bz dig ntp.api.bz

7. 停止IPv6网络服务

查看内核模块以确定是否支持IPv6
lsmod | grep ipv6
ifconfig -a #每当系统需要加载IPv6模块时使用/bin/true来替代
echo "install ipv6 /bin/true" > /etc/modprobe.d/disable-ipv6.conf
#禁用IPv6网络
echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0

8. 调整Linux的最大文件打开数

/etc/security/limit.conf
最后一行添加
* soft nofile 65535
* hard nofile 65535 vim /etc/rc.local
添加
ulimit -SHn 65535 查看最大文件打开数
#!/bin/bash
for pid in `ps aux | grep nginx | grep -v grep | awk '{print $2}'`
do
cat /proc/${pid}/limits | grep 'Max open files'
done

9. 网卡配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
HWADDR=00:11:22:33:44:55
IPV6INIT=no
IPV6_AUTOCONF=yes
ONBOOT=yes #在系统启动时启动网卡
NETMASK=255.255.255.0
IPADDR=2.2.2.2
GATEWAY=1.1.1.1
TYPE=Ethernet
PEERDNS=yes #允许从DHCP获得的DNS覆盖本地DNS地址
USERCTL=no #不同意普通用户修改网卡

10. 减少小文件分区的I/O

不修改小文件和目录的atime

vim /etc/fstab
/dev/sda5 /data/pics ext3 noatime,nodiratime 0 0

11. 修改SSH登陆配置

sed -i 's@#PermitRootLogin yes@PermitRootLogin no@' /etc/ssh/sshd_config
sed -i 's@#PermitEmptyPasswords no@PermitEmptyPasswords no@' /etc/ssh/sshd_config
sed -i 's@#UseDNS yes@UseDNS no@' /etc/ssh/sshd_config

12. 增加具有sudo权限的用户

新建admin用户

vim /etc/sudoers

admin ALL=(ALL) ALL
或者
admin ALL=(ALL) NOPASSWD:ALL

13. 优化TCP/IP参数

查看连接计数

netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'
状态 含义
CLOSED 无活动的或正在进行的连接
LISTEN 服务器正在等待呼叫
SYN_RECV 一个连接请求已经到达,等待确认
SYN_SENT 应用已经开始,打开一个连接
ESTABLISHED 正常数据传输状态
FIN_WAIT1 应用说她已经完成
FIN_WAIT2 另一边已同意释放
ITMED_WAIT 等待所有分组死掉
CLOSING 两边尝试同时关闭
TIME_WAIT 另一边已初始化一个释放
LAST_ACK 等待所有分组死掉

修改参数:

vim /etc/sysctl.conf

net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000 使内核配置立即生效
sysctl -p

CentOS6.4运维知识点1的更多相关文章

  1. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  2. 运维老鸟教你安装centos6.5如何选择安装包

    标签:老男孩教育 Centos6.5安装选包原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.c ...

  3. (转)运维老鸟教你安装centos6.5如何选择安装包

    运维老鸟教你安装centos6.5如何选择安装包 原文:http://blog.51cto.com/oldboy/1564620 近来发现越来越多的运维小伙伴们都有最小化安装系统的洁癖,因此,找老男孩 ...

  4. Linux运维:CentOS6和7的区别

    Liunx笔记:CentOS6和CentOS7的区别 路飞学城运维人员 在线流程图软件 Ago linux运维群: 93324526 笔者QQ:578843228 常用安装包下载 yum instal ...

  5. redis运维的一些知识点

    恰好看到一些redis需要主要的东西 记下 供参考 原文地址 http://hi.baidu.com/ywdblog/item/1a8c6ed42edf01866dce3fe3 最近在线上实际使用了一 ...

  6. mysql运维必会的一些知识点整理

    (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...

  7. mysql运维必会的一些知识点整理(转自民工哥)

    (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...

  8. Linux运维四:文件属性及文件权限

    一:文件属性 我们使用ls -lhi命令来查看文件时,会列出一堆的文件属性,如: [root@Gin day7]# ll -hi total 7.8M 260674 -rw-r--r-- 1 root ...

  9. Linux运维笔记--第三部

    第三部 3. Linux系统文件重要知识初步讲解 # ls  -lhi   (i: inode,每个文件前的数字代表文件身份ID:h: human 人类可读) 显示:25091 -rw-r--r-- ...

随机推荐

  1. 5 个优秀前端 UI 框架

    随着 Web 技术的不断发展,前端开发框架层出不穷,各有千秋,今天小编为大家奉上前端 UI 框架的开源项目,希望大家能够喜欢!如果大家有 UI 框架相关的开源项目,也可以托管到码云上,我们会及时给予推 ...

  2. input绑定事件

    <input type="text" oninput="functionName()">

  3. 屏蔽ffmpeg命令的所有提示

    有时候需要隐蔽的执行ffmpeg不希望输出任何日志,提示.这个时候只需要多添加这个参数即可 -loglevel quiet

  4. 数据结构和算法(Java版)快速学习(栈与队列)

    栈是仅允许在表尾进行插入和删除操作的线性表.我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom).栈是一种后进先出(Last In First Out)的线性表,简称(LIFO ...

  5. 我写过的bug...

    添加对,更新和查询出错 因为只写了bean里只写了se't方法,没有写get 多条件联合查询,后一个条件没用 写xml里面复制上一行,忘记把变量名改了(propertyValue没改成register ...

  6. day67—angularJS学习笔记控制器

    转行学开发,代码100天——2018-05-22 angularJS通过控制器来控制数据流的应用. ng-controller. 控制器中包含属性和函数,其参数引用通过 $scope来执行. 如下文的 ...

  7. Vue 渲染函数

    Vue 推荐在绝大多数情况下使用模板来创建你的 HTML.然而在一些场景中,你真的需要 JavaScript 的完全编程的能力.这时你可以用渲染函数,它比模板更接近编译器. 一 项目结构 二 App组 ...

  8. CF 686D. Kay and Snowflake

    给你一个树N个点,再给出Q个询问,问以x为根的子树中,重心是哪个?2≤n≤300000,1≤q≤30000 Sol:从下到上,根据性质做一下.1:如果某个点x,其子树y的大小超过总结点个数一半,则重心 ...

  9. Java第三周课程总结&实验报告一

    第三周课程总结 1.关于面向对象的一些具体内容,明白了类与对象以及Java的封装性和构造方法以及对对象匿名的相关知识. 2.this关键字,它是表示类的成员属性(变量),使用this构造方法时必须放在 ...

  10. 初识HTML标签

    web概念概述 JavaWeb: 使用Java语言开发基于互联网的项目 软件架构: C/S: Client/Server 客户端/服务器端 在用户本地有一个客户端程序,在远程有一个服务器端程序 如:Q ...