一、服务器准备
13台服务器。外网地址,根据实际情况设置。
二、集群架构图
三、建虚拟机-模板机
1、新建虚拟机无法上外网:
ctrl+a 定位命令行首个字母
#vim /etc/sysconfig/network-scripts/ifcfg-ens33
ONBOOT的值改为yes
2、修改虚拟机名子
#hostnamectl set-hostname www
3、修改shell命令提示符的颜色:
[root@www ~]# vi ~/.bashrc
export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\h\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\$'
生效:#. ~/.bashrc 或#source ~/.bashrc
4、修改网卡名称:
备份:
[root@www/etc/sysconfig/network-scripts]#cp ifcfg-ens33{,.ori}
修改配置文件内容:
[root@www/etc/sysconfig/network-scripts]#vi ifcfg-ens33
NAME=eth0
DEVICE=eth0
修改配置文件名子:
[root@www/etc/sysconfig/network-scripts]#mv ifcfg-ens33 ifcfg-eth0
来重新生成grub配置并更新内核参数:
[root@www~]#vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 bilsdevname=0"
[root@www~]#grub2-mkconfig -o /boot/grub2/grub.cfg
重启:reboot
查看结果:[root@www~]#ip add 已经更改过来
5、保留yum安装时下载的软件包
[root@www~]#cat /etc/yum.conf
keepcache=0 安装完成后,自动删除软件包
keepcache=1 安装完成后,保留安装包
yum安装包下载路径:/var/cache/yum/x86_64/7/updates/packages/
6、更新系统
更新源:
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
-s:安静的,没有任何输出
-o:输出到文件
更新系统:
#yum update -y
7、安装一些有用的软件包
安装系统常用工具:
#yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y
检测是否都安装上:
#rpm -qa tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs
安装运维系统常用的工具:
#yum install psmisc net-tools bash-completion vim-enhanced -y
# rpm -qa psmisc net-tools bash-completion vim-enhanced
8、优化
①安装及配置路径规划:
[root@www~]#mkdir -p /server/scripts /server/tools /application /backup /data
/server/scripts:脚本存放路径
/server/tools:存放软件包
/application:编译安装路径
/backup:备份目录
/data:数据共享目录
hosts配置解析信息:
# 配置/etc/hosts解析文件记录信息
#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 sweb01
172.16.1.10 sweb02
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.mifengdiandi.xyz
172.16.1.61 m01
EOF
②优化安全设置:
关闭防火墙:
[root@www~]#systemctl stop firewalld
[root@www~]#systemctl disable firewalld
[root@www~]#systemctl status firewalld
关闭SELinux:
[root@www~]#sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
[root@www~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
③精简开机启动程序:
[root@www~]#systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash
[root@www~]#systemctl start NetworkManager
[root@www~]#systemctl enable NetworkManager
重启后查看系统开启端口情况:
#netstat -lntup #<==如果没有该命令请安装#yum install net-tools
tcp:22
tcp6:::22
udp:68
9、设置普通用户提权操作:
[root@www~]#useradd admin
[root@www~]#id admin
uid=1000(admin) gid=1000(admin) groups=1000(admin)
[root@www~]#echo 123456|passwd --stdin admin
Changing password for user admin.
passwd: all authentication tokens updated successfully.
[root@www~]#\cp /etc/sudoers /etc/sudoers.ori
[root@www~]#echo 'admin ALL=(ALL)NOPASSWD:ALL'>>/etc/sudoers
[root@www~]#tail -1 /etc/sudoers
admin ALL=(ALL)NOPASSWD:ALL
检验语法:
[root@www~]#visudo -c
10、设置中文字符,建议最好用英文
#cp /etc/locale.conf{,.ori}
localectl set-locale LANG="zh_CN.UTF-8"
#cat /etc/locale.conf
11、设置系统时间同步
#yum install ntpdate -y
#/usr/sbin/ntpdate ntp3.aliyun.com
服务器时间一定要准确:设置定时任务
echo '#crond-id-001:time sync by admin'>>/var/spool/cron/root
echo '* * 1 * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1'
>>/var/spool/cron/root
crontab -l
12、提升命令行操作安全性
锁屏,显示历史命令数量,历史记录文件保留格式
echo 'export TMOUT=300' >>/etc/profile
echo 'export HISTSIZE=5' >>/etc/profile
echo 'export HISTFILESIZE=5' >>/etc/profile
. /etc/profile
13、优化系统内核
#cat >>/etc/sysctl.conf<<EOF
> net.ipv4.tcp_fin_timeout = 2
> net.ipv4.tcp_tw_reuse = 1
> net.ipv4.tcp_tw_recycle = 1
> net.ipv4.tcp_syncookies = 1
> net.ipv4.tcp_keepalive_time = 600
> net.ipv4.ip_local_port_range = 4000 65000
> net.ipv4.tcp_max_syn_backlog = 16384
> net.ipv4.tcp_max_tw_buckets = 36000
> net.ipv4.route.gc_timeout = 100
> net.ipv4.tcp_syn_retries = 1
> net.ipv4.tcp_synack_retries = 1
> net.core.somaxconn = 16384
> net.core.netdev_max_backlog = 16384
> net.ipv4.tcp_max_orphans = 16384
> #以下参数是对Iptables防火墙的优化,防火墙不开会提示,可以忽略。
> net.nf_conntrack_max = 25000000
> net.netfilter.nf_conntrack_max = 25000000
> net.netfilter.nf_conntrack_tcp_timeout_established = 180
> net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
> net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
> net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
> net.core.wmem_default = 8388608
> net.core.rmem_default = 8388608
> net.core.wmem_max = 16777216
> net.core.rmem_max = 16777216
> EOF
13、优化SSH远程连接效率
修改ssh服务端口为52113,默认端口为22
#\cp /etc/ssh/sshd_config{,.ori}
#sed -i -e '17s/.*/Port 52113/g' /etc/ssh/sshd_conf
#sed -i -e "19s/.*/ListenAddress 172.16.1.41/g" /etc/ssh/sshd_config
说明:修改SSH服务监听的默认IP地址,默认为0.0.0.0全部监听,可以自定义指定监听内网IP地址
#sed -i -e "38s/.*/PermitRootLogin no/g" /etc/ssh/sshd_config
说明:关闭SSH登录root用户权限,提升系统安全性
#sed -i -e "64s/.*/PermitEmptyPasswords no/g" /etc/ssh/sshd_config
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
14、清理系统版本信息:
#>/etc/issue
#>/etc/issue.net
15、为GRUP增加密码
#grub2-setpassword
四、技术
1、无人值守批量装机服务(Cobbler)
2、YUM仓库搭建(一键快速自动化必备)
3、SSH、Ansible批量管理服务项目
4、Zabbix完成集群的基础/应用/web/自动化监控
5、搭建VPN服务使用PPTP或者Openvpn
6、搭建跳板机服务jumpserver
7、Rsync全网备份项目/异地备份
8、MYSQL数据库环境搭建,主从搭建
9、"NFS共享存储数据实时复制到backup
10、将PHP产品和Tomcat产品上传目录挂载到NFS"
11、Nginx+PHP流行动态,web环境搭建
12、Nginx+Tomcat流行动态web环境搭建
13、NFS提供静态站点存储
14、将NFS存储数据实时复制到静态web本地
15、Nginx静态web服务环境搭建
16、搭建Nginx+keepalived负载高可用,实现动静分离
17、Memcahed或Redis session 会话保持环境搭建
18、实现全站HTTPS加密访问项目
19、Iptables内网服务器共享上网