第1章 系统优化
1.1系统检查
- 优化之前,首先查看版本信息。
#系统版本信息
cat /etc/redhat-release
#查看当前主机信息
cat /etc/issue
#内核版本信息
uname –r
#表示为64位系统
uname -m
#显示全部信息
uname –a
#显示当前用户
whoami
1.2vmware优化
1.2.1配置固定ip地址
1.配置vm8网卡
2.配置vmware
3.配置虚拟机
1.3 使用阿里云镜像源
1.3.1使用阿里云镜像源
1.下载安装wget
yum install -y wget
2.备份默认的yum
mv /etc/yum.repos.d /etc/yum.repos.d.backup
3.设置新的yum目录
mkdir -p /etc/yum.repos.d
4.下载阿里yum配置到该目录中,选择对应版本
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
5.更新epel源为阿里云epel源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
6.重建缓存
yum clean all
yum makecache
1.4内核等系统优化
1.4.1关闭SELinux功能
1.修改配置文件,使关闭SELinux永久生效
第一种方法
vi /etc/sysconfig/selinux
然后找到SELINUX=enforcing改成SELINUX=disabled
ESC:wq结束
第二种方法
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0
1.4.2服务器内核参数优化
cat>>/etc/sysctl.conf<<EOF
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
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
EOF
- 然后用 sysctl --system 使其生效
1.4.3升级服务器内核
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt
grep initrd16 /boot/grub2/grub.cfg
grub2-set-default 0
reboot
1.4.4关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
1.4.5做好系统快照备份
1.5scp命令
- Linux scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于ssh 登陆进行安全的远程文件拷贝命令。
1.5.1.语法
scp [可选参数] file_source file_target
1.5.2.参数
- -1: 强制scp命令使用协议ssh1
- -2: 强制scp命令使用协议ssh2
- -4: 强制scp命令只使用IPv4寻址
- -6: 强制scp命令只使用IPv6寻址
- -B: 使用批处理模式(传输过程中不询问传输口令或短语)
- -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
- -p:保留原文件的修改时间,访问时间和访问权限。
- -q: 不显示传输进度条。
- -r: 递归复制整个目录。
- -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
- -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
- -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
- -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
- -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
- -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
- -P port:注意是大写的P, port是指定数据传输用到的端口号
- -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
1.5.3实战演练
touch 123.txt
scp 123.txt root@192.168.198.91:/data/
1.6免密登录
1.6.1语法
ssh-keygen [-q] [-b bits] [-t type] [-N new_passphrase] [-C comment] [-f output_keyfile]
-
使用 ssh-keygen 会在~/.ssh/目录下生成两个文件,不指定文件名和密钥类型的时候,默认生成的两个文件是:
- id_rsa
- id_rsa.pub
-
第一个是私钥文件,第二个是公钥文件。
1.6.2参数
- -q:安静模式,不显示额外的生成信息
- -b:指定秘钥长度,RSA密钥最小768位,默认2048位。DSA密钥必须是1024位(FIPS 186-2标准的要求)
- -t:指定密钥类型。可用的值:dsa|ecdsa|ed25519|rsa, 默认rsa。
- -N:指定生成秘钥公钥对的密码,不指定会在生成过程中要求输入。
- -C:指定秘钥公钥对的说明信息
- -f:指定生成密钥的目录和文件名,不指定会在生成过程中要求输入。
1.6.3实战演练
- 使用ssh-copy-id命令将本机上的公钥文件拷贝到服务器上
linux-90:
ssh-keygen -t rsa
cd ~/.ssh/
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.198.91
远程登录linux-91服务器
ssh root@192.168.198.91
exit
~
cd /data
touch 123.txt
scp 123.txt root@192.168.198.91:/data/
linux-91:
ssh-keygen -t rsa
cd ~/.ssh/
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.198.90