centos基本配置

Centos 7 基本配置

标签:centos


初始化配置

  • 关闭防火墙
1
2
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #关闭防火墙开机启动
  • 关闭selinux
1
2
3
setenforce 0  #临时关闭
sed -i 's#=enforcing#=disabled#' /etc/selinux/config #永久关闭
grep --color=auto '^SELINUX' /etc/selinux/config
  • 更改主机名
1
hostnamectl set-hostname docker && su
  • 同步时间
1
2
3
4
5
6
7
8
9
10
11
12
####NTP###############
yum install -y ntpdate
systemctl start ntpdate #开启服务
systemctl enable ntpdate #开机启动
timedatectl set-timezone Asia/Shanghai
ntpdate -u cn.pool.ntp.org
######chrony###############
yum install chrony
systemctl start chronyd
systemctl enable chronyd
timedatectl set-timezone Asia/Shanghai
timedatectl set-ntp yes
  • 添加阿里云源
1
2
3
4
#centos源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#epel源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
  • 安装常用软件
1
yum install -y vim lrzsz curl net-tools tree wget

配置免密登陆

1
2
3
4
5
ssh-keygen #生成密钥 直接按三个回车、
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
#将公钥复制进去authorized_keys文件中
cat .ssh/id_rsa.pub

常用优化

  • buff和cache过大(Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。buff:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。)
1
2
3
4
sync
echo 1 > /proc/sys/vm/drop_caches 释放网页缓存
echo 2 > /proc/sys/vm/drop_caches 释放目录项和索引
echo 3 > /proc/sys/vm/drop_caches 释放网页缓存,目录项和索引
  • iptables禁用特定ip或网段
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
iptables -I INPUT -s 124.115.0.199 -j DROP      
是屏蔽124.115.0.199这个IP
iptables -I INPUT -s 124.115.0.0/16 -j DROP
是屏蔽124.115.*.*这段IP 就是124.115开头的IP
iptables -I INPUT -s 61.37.80.0/24 -j DROP
是屏蔽61.37.80.*这段IP 意思就是61.37.80开头的IP
iptables -I INPUT -s 124.0.0.0/8 -j DROP
是屏蔽124.*.*.*这段IP 意思就是124开头的IP

iptables -D INPUT -s 124.0.0.0/8 -j DROP
只要把I 改为 D就好了,然后后面可以写IP或者IP段

iptables -L -n
v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M)
n:只显示IP地址和端口号,不将ip解析为域名

iptables -L -n –line-numbers
比如要删除INPUT里序号为1的规则,执行:
iptables -D INPUT 1
  • mysql远程创建远程访问用户
1
2
3
4
5
6
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
#允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
#远程root访问mysql
  • linux内核优化

最大连接数优化

1
2
3
4
5
6
ulimit -n #查看连接数
ulimit -n 65535 #临时修改连接数
#永久修改需要编辑limits.conf文件
vim /etc/security/limits.conf
root soft nofile 20480 #当前用户的进程同时打开的文件数量的软限制
root hard nofile 20480 #当前用户的进程同时打开的文件数量的硬限制

内核参数优化

例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
vim /etc/sysctl.conf
fs.file-max = 999999 #同时打开的最大句柄数
net.ipv4.tcp_tw_reuse = 1 #这个参数设置为1,表示允许将TIME-WAIT状态的socket重新用于新的TCP链接。这个对服务器来说很有意义,因为服务器上总会有大量TIME-WAIT状态的连接
net.ipv4.tcp_keepalive_time = 600 #这个参数表示当keepalive启用时,TCP发送keepalive消息的频度。默认是7200 seconds,意思是如果某个TCP连接在idle 2小时后,内核才发起probe。若将其设置得小一点,可以更快地清理无效的连接。
net.ipv4.tcp_fin_timeout = 30 #这个参数表示当服务器主动关闭连接时,socket保持在FIN-WAIT-2状态的最大时间
net.ipv4.tcp_max_tw_buckets = 5000 #这个参数表示操作系统允许TIME_WAIT套接字数量的最大值,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认是i180000,过多TIME_WAIT套接字会使Web服务器变慢
net.ipv4.ip_local_port_range =1024 61000 #这个参数定义了在UDP和TCP连接中本地端口的取值范围
net.ipv4.tcp_rmem =4096 32768 262142 #这个参数定义了TCP接受缓存(用于TCP接收滑动窗口)的最小值,默认值,最大值
net.ipv4.tcp_wmem =4096 32768 262142 #这个参数定义了TCP发送缓存(用于TCP发送滑动窗口)的最小值,默认值,最大值
net.core.netdev_max_backlog = 8096 #当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包。这个参数表示该队列的最大值。
net.core.rmem_default = 262144 #这个参数表示内核套接字接收缓存区默认的大小。
net.core.wmem_default = 262144 #这个参数表示内核套接字发送缓存区默认的大小
net.core.rmem_max = 2097152 #这个参数表示内核套接字接收缓存区默认的最大大小
net.core.wmem_max = 2097152 #这个参数表示内核套接字发送缓存区默认的最大大小
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
====================================
fs.file-max = 999999
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.ip_local_port_range =1024 61000
net.ipv4.tcp_rmem =4096 32768 262142
net.ipv4.tcp_wmem =4096 32768 262142
net.core.netdev_max_backlog = 8096
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 2097152
net.core.rmem_max = 2097152
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
=======================================