目录
升级操作系统内核
升级操作系统内核:https://blog.csdn.net/lihongbao80/article/details/101364043
一、下载必要软件包
在安装操作系统的时候使用的最小化安装,有很多包没有安装,使用时发现好多命令没有如{vim、wget、tree…等},下面就安装命令,可以根据需求自行调整
yum -y install wget net-tools screen lsof tcpdump nc mtr openssl-devel vim bash-completion lrzsz nmap telnet tree ntpdate chrony bind-utils
二、打开文件数的限制(open files)
-
kernel.pid_max
含义:这个参数定义了系统中可以创建的最大进程 ID(PID)。默认值通常是 32768,但可以根据系统需要进行调整。
作用:限制系统中同时存在的进程数量,PID 从 1 开始分配,直到达到 pid_max 的值后会重新循环使用已终止进程的 PID。 -
fs.file-max
含义:该参数指定了系统可以打开的最大文件描述符数量,包括所有进程的文件描述符总和。默认值通常在 1,000,000 左右。
作用:控制整个系统可以打开的文件、套接字等的最大数量,影响到高并发应用程序的性能。如果应用程序需要打开大量文件,可以通过增加这个值来避免“文件描述符耗尽”的问题。 -
nofile
含义:表示每个进程可以打开的最大文件描述符数量。这个值通常在用户级别进行设置,可以在 /etc/security/limits.conf 中配置。
作用:限制单个进程可打开的文件数量,适用于防止某个进程占用过多资源,影响系统稳定性。常见值为 1024 或更高,具体取决于应用程序需求。 -
nproc
含义:这个参数指定了每个用户在系统中可以创建的最大进程数量。它同样可以在 /etc/security/limits.conf 中进行配置。
作用:限制单个用户可以使用的进程数量,从而防止某个用户由于错误或恶意行为导致系统资源耗尽。
1、fs.file-max、kernel.pid_max:
#方法一
[root@test1 ~]# sysctl -a | grep 'fs.file-max'
fs.file-max = 6553560
[root@test1 ~]# sysctl -a | grep 'kernel.pid_max'
kernel.pid_max = 65535
#方法二
[root@app01 ~]# cat /proc/sys/fs/file-max
6553560
[root@app01 ~]# cat /proc/sys/kernel/pid_max
32768
设置的方式有两种,一种是临时生效,重启后恢复默认。另一种永久生效。
# 以下两种方式所有session都生效,重启服务器后会恢复为默认值
方式一: echo 6553560 > /proc/sys/fs/file-max
方式二: sysctl -w "fs.file-max=6553560"
# 立即生效,并永久生效
echo "fs.file-max = 6553560" >> /etc/sysctl.conf
sysctl -p
2、nofile、nproc
#查看大小
[root@test1 ~]# ulimit -u
63907
[root@test1 ~]# ulimit -n
1024
#当前session及时生效,重启后生效
[root@test1 ~]# ulimit -u 65535
[root@test1 ~]# ulimit -n 1024000
#重启后生效
echo "* soft nproc 1024000" >> /etc/security/limits.conf
echo "* hard nproc 1024000" >> /etc/security/limits.conf
echo "* soft nofile 1024000" >> /etc/security/limits.conf
echo "* hard nofile 1024000" >> /etc/security/limits.conf
reboot
三、允许所有的通过或者关闭防火墙
1、允许所有的通过
firewall-cmd --set-default-zone=trusted:设置默认区域为trusted,允许所有的通过
2、关闭防火墙
systemctl stop firewalld #临时关闭,重启后还会自动启动
systemctl disable firewalld #从自动启动中去除防火墙自动启动,但是当前未关闭防火墙
四、关闭selinux
setenforce 0 #关闭SELinux立即生效,重启服务器后配置失效。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #修改配置文件需要重启服务器配置才会生效.
五、更改机器名
1、方法一使用hostnamectl命令
hostnamectl set-hostname selfhostname.test.com
2、方法二:修改配置文件/etc/hostname 保存退出Esc :wq
vi /etc/hostname
selfhostname.test.com #selfhostname是自己所起的主机名
保存退出
reboot
重启机之后就可看到所改的主机名
六、同步系统时间
1、首先关闭rtc time
[root@LXCL-BAK ~]# timedatectl set-local-rtc 0
或者
[root@LXCL-BAK ~]# timedatectl set-local-rtc no
2、切换时区
方法一:
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区到东8区。
方法二:
timedatectl set-timezone Asia/Shanghai
3、安装时钟同步工具
步骤一:确认已安装NTP客户端软件包chrony
通常系统会默认安装此软件包:
[root@server0 ~]# rpm -q chrony
chrony-1.29.1-1.el7.x86_64
如果检查发现此软件包没有安装,请通过yum命令安装:
[root@server0 ~]# yum -y install chrony
如果发现此软件包已经安装,但配置文件/etc/chrony.conf损坏或信息丢失,可删除此文件后重新安装chrony软件包:
[root@server0 ~]# rm -rf /etc/chrony.conf
[root@server0 ~]# yum -y install chrony
已加载插件:langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 chrony.x86_64.0.1.29.1-1.el7 将被 重新安装
--> 解决依赖关系完成
启动系统服务chronyd,并设为开机自启
[root@server0 ~]# systemctl restart chronyd
[root@server0 ~]# systemctl enable chronyd
3、安装时钟同步工具(这个比较简单)
[root@server0 ~]# yum install -y ntp
4、启用ntp
[root@server0 ~]# timedatectl set-ntp yes //启用NTP同步
[root@server0 ~]# timedatectl //查看启用后的状态
七、修改ip和dns
1、进入相应文件夹
cd /etc/sysconfig/network-scripts/ #找到ifcfg-开头的文件
vim ifcfg-ens160
BOOTPROTO=static #dhcp改为static
ONBOOT=yes #开机启用网络配置
IPADDR=192.168.1.204 #静态IP
GATEWAY=192.168.1.2 #默认网关,虚拟机安装的话,通常是2,也就是VMnet8的网关设置
NETMASK=255.255.255.0 #子网掩码
DNS1=192.168.1.2 #DNS 配置,虚拟机安装的话,DNS就网关就行,多个DNS网址的话再增加(比如如下这行)
DNS2=192.168.180.7
2、重启网络服务
systemctl restart network
3、检查网络:
查看ip
ip addr #或者
ifconfig
查看dns
cat /etc/resolv.conf
八、免密码使用sudo
编辑sudoers文件
方法一:
visudo
方法二:
vim /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
ps:这里说下你可以sudoers添加下面四行中任意一条
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
九、创建新用户并授权
创建用户
1、创建一个新用户
[root@localhost ~]# adduser centos
2、为新用户创建初始化密码
格式 passwd 用户名
[root@localhost~]# passwd centos
Changing password for user centos.
New password: # 输入密码
Retype new password: # 再次输入密码
passwd: all authentication tokens updated successfully.
授权
个人用户的权限只可以在本home下有完整权限,其他目录需要别人授权。经常需要root用户的权限,可以通过修改sudoers文件来赋予权限。
新创建的用户并不能使用sudo命令,需要给他添加授权。
1、查找sudoers文件路径并赋予权限
[root@localhost~]# ls -l /etc/sudoers # 查看权限
-r--r----- 1 root root 3938 Sep 6 2017 /etc/sudoers # 只有读权限
[root@localhost~]# chmod -v u+w /etc/sudoers # 赋予读写权限
mode of ‘/etc/sudoers’ changed from 0440 (r--r-----) to 0640 (rw-r-----)
2、修改sudoers文件
输入命令 vim /etc/sudoers 修改sudoers文件,添加新用户信息:
[用户名] ALL=(ALL) ALL(如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可)
root ALL=(ALL) ALL
centos ALL=(ALL) ALL #这个是新用户
然后输入命令 wq! 保存修改。
3、收回权限
[root@localhost~]# chmod -v u-w /etc/sudoers
mode of ‘/etc/sudoers’ changed from 0640 (rw-r-----) to 0440 (r--r-----)
加入docker组
[root@localhost~]# gpasswd -a user_name group_name
十 关闭swap
临时生效
[root@localhost~]# swapoff -a
永久生效:
sed -ri 's/.*swap.*/#&/' /etc/fstab