centos7新主机初始化配置建议
1. 说明
当我们在阿里云或者腾讯云等云厂商购买了一台新主机,或者自己配置了一台新主机的时候,一般都要先做一些初始化的设置。例如:调整内核参数以适应主机上面要部署的服务,新增用户,修改启动项,挂载磁盘等等。下面简单介绍一下centos7系统初始化设置,只做介绍,具体的操作和脚本都可以自己定制。
2. 系统初始化建议
注意:
一切以自己的实际业务需求为主!!!千万不要照搬!!!
2.1 系统相关
1. 内核参数调优
针对不同的业务需求,最好是做一下内核调优,默认配置只是通用配置。
例如对于docker主机或k8s节点,或者java服务、php服务、nginx服务等等,都有不同的调优参数。根据需求进行调整即可。
2. 磁盘
如果有数据盘,记得进行格式化,设置开机挂载,开机挂载可以写在/etc/rc.local里面,也可以在/etc/fstab里面
3. 内核升级
根据需要即可,一般情况下不建议进行内核大版本升级
4. 开机启动项
可以检查开机启动项,关闭不必要的,缩短启动时间。
2.2 用户相关
1. sudo用户
2. 普通用户
上面的那两种用户,如果是常用的,可以在脚本里面直接设置。
useradd www -g www && echo "MztWg1GmB7DxS39I" | passwd www --stdin
sudo用户记得改权限,改/etc/sudoers配置文件。
2.3 安全设置
一般情况下要关闭selinux,是否关闭firewalld看具体情况,firewalld规则配置比较麻烦,可以考虑csf这种容易上手的替换掉firewalld服务。
2.4 软件包
1. 软件源
一般大一点的公司都会自己设置本地centos base仓库,减少网络开销,方法也很简单,直接用一台主机设置nginx代理,挂载镜像iso文件到指定路径,修改/etc/yum.repos.d/CentOS-Base.repo即可。高级一点的会设置同步公网镜像站(小一点的公司不建议这样做,开销有点大)
epel源,上面的文件比较多,一般不建议同步到本地,或者把一些常用的软件包同步过来也行。
2. 常用安装包
一般情况下,中文语言支持包,开发组件包都需要下载,也可以根据需要下载。
例如:
yum -y groupinstall "Development Tools"
yum -y install epel-release
yum -y install vim-enhanced screen nc telnet nmap dstat \
bind-utils openssl-devel yum-utils wget curl gcc glibc \
lrzsz net-tools unzip bzip bash-completion
# yum -y update 这个命令会涉及到内核更新,谨慎操作
3. 其它常用包
比如一些常用环境设置,java、php、nginx这些中间件,gpu驱动,监控组件客户端(如zabbix-agent)等等,可以写到脚本里,也可以等系统初始化完了单独做。
2.5 其他设置
- ssh:连接超时、修改默认端口、禁止root用户远程登录
- 用户:用户组、密码复杂度、密码过期时长、用户登录历史记录等等
- vim个性化设置,比如文本高亮,编码方式等等,设置项很多,自己搜一下
- 默认sh:一般情况下使用bash,但是有特殊需求可以用zsh、fash等等,生产环境一般不建议修改,有特殊要求的倒是想怎么改都行
参考:https://blog.csdn.net/duninet/article/details/107115082 - 命令历史记录:保存的history记录数,记录格式,比如显示命令执行日期什么的,还可以把操作历史备份,通过syslog传到备份主机,进行归档、审计
- 日志归档:通过filebeat或者syslog等把服务器日志传到备份主机,进行归档、审计
3. 注意事项
注意:
一切以自己的实际业务需求为主!!!千万不要照搬!!!
需要什么,根据自己的业务改就行,上面只是提供一些思路,在具体的业务场景中,自己组合就行,根据需要增加或减少。
重要的事情说三遍!!!
注意:
一切以自己的实际业务需求为主!!!千万不要照搬!!!