一、文档介绍
此文档旨在规范服务器初始化操作,避免因在多环境中操作系统环境不一致而产生未知原因的问题。
二、配置主机名
hostnamectl set-hostname 主机名
注意:此操作非必须重要:操作完成后需退出终端再进入
三、配置 DNS
统一DNS配置文件为/etc/resolv.conf
(一) 删除网卡配置文件中DNS配置
例如,网卡为eth0,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0,将文件中的DNS1和DNS2参数内容删除,然后保存退出。
注意:如果没有删除,服务器重启时会将DNS1和DNS2参数内容覆盖到/etc/resolv.conf,导致DNS变更。
(二) 配置 DNS 文件
echo "nameserver 10.6.100.25" >> /etc/resolv.conf
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
本例中的 DNS 为10.6.100.25和114.114.114.114,请根据实际情况配置。
四、配置 YUM 源
(一) 清空系统默认配置
cd /etc/yum.repos.d/ && rm -rf ./*
(二) 添加yum源
cd /etc/yum.repos.d/
echo '
[base]
name=CentOS-7-Base
baseurl=https://repo.huaweicloud.com/centos/7/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
[update]
name=CentOS-7-Updates
baseurl=https://repo.huaweicloud.com/centos/7/updates/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-7-Extras
baseurl=https://repo.huaweicloud.com/centos/7/extras/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
' > CentOS-Base.repo
echo '
[epel]
name=CentOS-7-epel
baseurl=https://repo.huaweicloud.com/epel/7/$basearch/
enabled=1
gpgcheck=1
pgkey=https://repo.huaweicloud.com/epel/RPM-GPG-KEY-EPEL-7
' > epel.repo
echo '
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://repo.huaweicloud.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
' > docker-ce.repo
参数说明
序号 | 参数 | 说明 |
1 | [X] | yum 安装时显示的 RPM 所在仓库名 |
2 | name | 仓库描述 |
3 | baseurl | 仓库地址 |
4 | enabled | 是否启动此 yum 仓库 |
5 | gpgcheck | 是否对 rpm 进行 签名验证 |
6 | gpgkey | gpg 文件地址 |
(三) 更新 yum 源
# 导入GPG
rpm --import https://repo.huaweicloud.com/centos/RPM-GPG-KEY-CentOS-7
rpm --import https://repo.huaweicloud.com/epel/RPM-GPG-KEY-EPEL-7
rpm --import https://repo.huaweicloud.com/docker-ce/linux/centos/gpg
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage
# 缓存仓库信息
yum clean all
yum makecache
五、安装基础 RPM
yum install -y glibc gcc gcc-c++ openssl openssl-devel bash openssh net-tools bind-utils iptables iptables-services
yum install -y dmidecode which vim-enhanced ntpdate unzip zip telnet wget curl parted
六、配置防火墙
systemctl stop firewalld
systemctl disable firewalld
七、配置时区
tz=Asia/Shanghai
tz_path=/usr/share/zoneinfo/Asia/Shanghai
timedatectl set-timezone "$tz"
八、配置时间同步
echo "*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com; /sbin/hwclock --systohc" >> /var/spool/cron/root
crontab -l
九、配置终端默认语言
echo 'export LANG="en_US.UTF-8"' >> /etc/bashrc
十、配置历史记录日志格式
echo 'export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "' >> /etc/profile
十一、配置历史记录
yum install -y rsyslog
echo 'local1.notice /var/log/history.log' >> /etc/rsyslog.conf
systemctl restart rsyslog
cat <<"EOF" >> /etc/bashrc
export PROMPT_COMMAND='history -a;timestamp=$(date +%FT%T%z);command=$(history 1| { read x y;echo $y; } );logger -p local1.notice -t bash -i "timestamp=[$timestamp],user=$USER,ppid=$PPID,conn=$SSH_CONNECTION,tty=$SSH_TTY,pwd=$PWD,command=$command"'
EOF
十二、配置普通用户允许使用systemd
例如,普通用户为myuser
注意:此操作非必须
# 此操作中的myuser需替换为实际用户
cat <
十三、关闭selinux
selinux 是 Linux 系统安全访问控制组件,是一套复杂的安全策略规则。
在开启的情况下,会出现程序配置正确,但服务莫名无法访问等问题;所以,绝大部分情况下,通过防火墙配置或登录限制等安全手段来保障即可,因此将其关闭。
sed -i "/^SELINUX=/c SELINUX=disabled" /etc/selinux/config
setenforce 0
十四、配置系统资源数
# 将系统的文件句柄数和进程数上限修改至655350
sed -i "/65535/d" /etc/security/limits.conf
sed -i "/65536/d" /etc/security/limits.conf
echo "* soft nproc 655350" >> /etc/security/limits.conf
echo "* hard nproc 655350" >> /etc/security/limits.conf
echo "* soft nofile 655350" >> /etc/security/limits.conf
echo "* hard nofile 655350" >> /etc/security/limits.conf
sed -i 's/4096/65535/g' /etc/security/limits.d/20-nproc.conf
# 将系统或用户进程允许操作的文件句柄数和进程数上限修改至32768
sed -i '/DefaultLimitCORE=/d' /etc/systemd/system.conf
sed -i '/DefaultLimitNOFILE=/d' /etc/systemd/system.conf
sed -i '/DefaultLimitNPROC=/d' /etc/systemd/system.conf
sed -i '/DefaultLimitCORE=/d' /etc/systemd/user.conf
sed -i '/DefaultLimitNOFILE=/d' /etc/systemd/user.conf
sed -i '/DefaultLimitNPROC=/d' /etc/systemd/user.conf
echo 'DefaultLimitCORE=infinity' >> /etc/systemd/system.conf
echo 'DefaultLimitNOFILE=32768' >> /etc/systemd/system.conf
echo 'DefaultLimitNPROC=32768' >> /etc/systemd/system.conf
echo 'DefaultLimitCORE=infinity' >> /etc/systemd/user.conf
echo 'DefaultLimitNOFILE=32768' >> /etc/systemd/user.conf
echo 'DefaultLimitNPROC=32768' >> /etc/systemd/user.conf
十五、关闭非必须服务
NetworkManager 图形化网络配置服务,且会影响DNS配置,目前都采用命令行操作,所以关闭。
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl stop postfix
systemctl disable postfix
systemctl stop rpcbind.socket
systemctl stop rpcbind
systemctl disable rpcbind
十六、挂载数据盘
请将数据盘挂载到/data目录
本例中,数据盘为:/dev/vdb,请根据实际情况调整:
(一) 磁盘分区
/usr/sbin/parted -s "/dev/vdb" mklabel gpt
/usr/sbin/parted -s "/dev/vdb" mkpart primary 0% 100%
使用blkid可以看到生成了/dev/vdb1的分区
(二) 磁盘格式化
将分区格式化为xfs格式
/sbin/mkfs.xfs -f -i size=2048 "/dev/vdb1"
(三) 挂载
mkdir -p /data
echo '/dev/vdb1 /data xfs defaults 0 0' >> /etc/fstab
mount -a
使用df -h命令查看挂载情况
十七、重启服务器
reboot