中小规模集群搭建(基础环境)
1、规范目录
mkdir -p /server/tools
mkdir -p /server/scripts
2、添加域名解析,这里我们为了方便直接写hosts文件,在生产环境中我们一般使用DNS服务器
\cp /etc/hosts{,.bak} cat >/etc/hosts<<EOF 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web01 172.16.1.8 web02 172.16.1.9 web03 172.16.1.51 db01 db01.etiantian.org 172.16.1.31 nfs01 172.16.1.41 backup 172.16.1.61 m01 EOF
3、修改主机名使其和IP关系对应
echo yourhostname> /etc/hostname
hostname yourhostname
4、安全优化
3.1 关闭SELINUX sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 getenforce 3.2 关闭防火墙 systemctl stop firewalld systemctl disable firewalld systemctl status firewalld #若实际生产环境为内网(局域网)我们可以关闭firewalld,若生产环境在Internet上,我们一般不关闭firewalld,需要我们去做防火墙规则,这里我们直接关闭
5、创建普通用户并提权
useradd brothercat echo 123456|passwd --stdin brothercat \cp /etc/sudoers /etc/sudoers.ori echo "brothercat ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers tail -1 /etc/sudoers visudo -c
6、做时间同步
yum install -y ntpdate echo '#time sync by lidao at 2017-03-08' >>/var/spool/cron/root echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root crontab -l
#这一步可以在步骤8后做,配好yum后配置
7、加大文件描述
echo '* - nofile 65535' >> /etc/security/limits.conf tail -1 /etc/security/limits.conf ulimit -SHn 65535 ulimit -n #一般情况下,一台服务器被访问时,会启用很多的程序,而启动每一个程序都会占用文件服务器描述符的大小,因此优势需要加大文件描述符的大小,从而不影响到程序的启动,最大可设置为65535,可根据生产环境灵活调整
8、更新yum、epel源
curl -s -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum makecache yum update
#这里我使用的是阿里源和epel的官方源,可根据自己习惯灵活配置
9、安装常用软件
yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
yum install psmisc net-tools bash-completion vim-enhanced -y
10、优化ssh连接效率(可忽略)
sed -i.bak 's@#UseDNS yes@UseDNS no@g;s@^GSSAPIAuthentication yes@GSSAPIAuthentication no@g' /etc/ssh/sshd_config systemctl restart sshd
11、定义系统别名
echo "alias ll='ls -l --color=auto --time-style=long-iso'">>/etc/profile #定义ll输出,强制对齐,嗯我有强迫症
开机优化、grub引导加密、禁止root远程连接、修改ssh端口号、会话时间、历史命令条数等等的安全优化,我们这里暂且不做,但在实际生产环境中最好做相对于的操作