Linux系统优化

1.系统基础优化
1.1关闭SELinux
#临时关闭
 setenforce 0
#永久关闭
[root@localhost ~]# vim /etc/sysconfig/selinux

SELINUX=enforcing 改为 SELINUX=disabled

需要重启

1.2关闭防火墙firedworld

systemctl stop firewalld
systemctl distable firewalld

1.3关闭NetworkManager

systemctl stop NetworkManager
systemctl distable NetworkManager

1.4时间设置(定时任务)

crontab -e
*/5 * * * *   /usr/sbin/ntpdate ntp1.aliyun.com  >/dev/null 2>&1

1.5普通用户添加sudo权限

visudo
root    ALL=(ALL)       ALL
oldboy  ALL=(ALL)       NOPASSWD:ALL

1.6hosts文件解析(ip解析主机名)

vim /etc/hosts

1.7调整用户登录提示信息

vim /etc/motd

1.8清空/etc/issue 和/etc/issue.net

>/etc/issue
>/etc/issue.net

2.基础服务优化

2.1ssh配置更改

vi /etc/ssh/ssh_config 
 #修改ssh端口号
 Port 22
 #禁用DNS反向解析
 useDNS = no 
 #~~~~~~~~~~
 GSSAPIAuthentication no

2.2修改系统默认的yum源,增加epel源

#修改yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#增加epel源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2.3安装常用软件

软件包名称 作用
vim vim升级版
tree 以树形显示目录结构
wget 下载工具
bash-completion(默认源) 自动补全增强工具,可以补全命令参数
bash-completion-extras(epel) 自动补全超强工具,可以补全命令参数
lrzsz 上传下载工具sz和rz
net-tools ifconfig rote命令的所属包
sysstat sar iostat 属于的软件包
iotop 查询系统每个进程的io读写情况 和swap写入情况
iftop 查询网络流量情况
nethogs 查询每个进程的流量情况
htop top的升级版
unzip 解压
nc nccat类似于telnet
nmap 端口扫描工具
telnet 检查端口是否开启
bc 计算器
lsof 显示所有被打开的文件
yum install -y tree vim wget bash-completion  bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc

2.4文件描述符改到最大

 vim /etc/security/limits.conf 
 * - nofile 65535(加到配置文件尾)

2.5修改历史命令环境变量

export TMOUT=300 #timeout linux   #不进行任何操作 300s之后自动登出
export HISTFILE=1000 history      #命令最多记录几条
export HISTFILESIZE=1000 history  #历史记录的文件里面最多记录几条
export HISTCONTROL=ignorespace    #控制history 命令如何记录 ,只要以空格开头的命令 history不记录
export PS1=[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\]]\$  #命令提示符参数
3.内核优化
3.1禁止被ping
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf 
sysctl -p 
[root@web01 ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:82:a5:bb brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.41/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe82:a5bb/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:82:a5:c5 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.41/24 brd 172.16.1.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe82:a5c5/64 scope link 
       valid_lft forever preferred_lft forever

[root@web01 ~]# echo '  net.ipv4.icmp_echo_ignore_all=1' >> /etc/sysctl.conf  
[root@web01 ~]# sysctl -p 
net.ipv4.icmp_echo_ignore_all = 1
[root@web01 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 
1
[root@web01 ~]# ping 10.0.0.7
PING 10.0.0.7 (10.0.0.7) 56(84) bytes of data.
^C
--- 10.0.0.7 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5000ms

[root@web01 ~]# ping 172.16.1.7
PING 172.16.1.7 (172.16.1.7) 56(84) bytes of data.
^C
--- 172.16.1.7 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms
3.2内核
开启内核转发功能(内网服务器,上外网的时候需要用到)
echo 'net.ipv4.ip_forward=1 ' >>/etc/sysctl.conf 
sysctl -p 

/proc/sys/net/ipv4/ip_forward

time_wait过多

 echo 'net.ipv4.tcp_tw_recycle=1 ' >>/etc/sysctl.conf 
 echo 'net.ipv4.tcp_tw_reuse=1 ' >>/etc/sysctl.conf 

/proc/sys/net/ipv4/tcp_tw_recycle #开启tcp回收功能

/proc/sys/net/ipv4/tcp_tw_reuse #开启tcp重复使用功能

java程序 故障 导致大量占用swap 而不占用物理内存

vm.swappiness  #控制系统是否优先使用swap 数字越大越优先使用swap 越小越优先使用物理内存

 

上一篇:keepalive 双主配置


下一篇:00后是真干不过,工作没两年,跳槽到我们公司起薪18K都快接近我了