欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

CentOS6.4运维知识点1

程序员文章站 2023-08-12 14:03:36
系统的基础优化 1. 修改yum源(CentOS6.4 Mini) 2. 关闭不需要的服务 |必须的服务|描述| |: :|: :| |crond|计划任务| |network|网络服务| |sshd|OpenSSH服务| |rsyslog|日志服务(CentOS5.8以下为syslog)| 3. ......

系统的基础优化

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