架构基本概述以及环境准备

架构基本概述以及环境准备

架构名词介绍

# 项目:
独立的一个网站或者独立的一个app应用
# 架构:
用来维护或者运行一个项目的一组服务器
# 集群:
为解决某个特定问题将多台计算机组合起来形成的单个系统(一台计算机故障导致服务运行不起来,被称为单点故障)
# 高可用:
当一台服务器不可用,另一台服务器自动接管,保证业务不down机
# 负载均衡:
将用户的请求,分摊到多个操作单元上执行,为了解决服务器压力不均衡的问题

架构如何演变

在浏览器中输入:域名 eg:www.baidu.com

  1. DNS域名解析服务器将www.baidu.com解析成IP地址:202.108.22.5

  2. 浏览器和该IP地址(202.108.22.5)的服务器(https:// 443)(http:// 80)端口建立连接

  3. 请求要经过202.108.22.5服务器的防火墙,允许你的IP(101.229.206.48)访问服务器的443端口

    • 防火墙:过滤用户请求,防止恶意请求,针对IP和端口进行限制
    • CentOS6之前:iptables CentOS7开始:firewalld,也可以使用iptables
    • 硬件防火墙
  4. 请求通过防火墙后,访问到负载均衡服务器

    • Nginx
    • HAproxy
    • LVS
    • F5(硬件)
  5. 请求通过负载均衡后会被下发到后面的web服务器

    • Nginx
    • Apache
    • Tomcat(Java)
    • PHP(PHP代码容器)
  6. 前端代码会请求后端的代码,后端代码请求数据库

  • MySQL
  • Oracle
  • SQLServer
  • MariaDB
  1. 数据库之前会有缓存服务器,如果缓存中有请求的数据,则直接通过缓存返回给用户
  • Redis
  • MangoDB
  • Memcache
  1. 文件服务器(共享存储服务器)专门用来存储图片,视频,二进制类型的数据
    • NFS
    • GFS
    • FastDFS
    • ceph

运维自动化工具

#运维自动化工具
所有服务器,至少要有两块网卡(有两个IP地址)
  - 外网IP地址,针对用户访问,给用户提供服务
  - 内网IP地址,服务器之间互相可以访问
  
跳板机,VPN:访问内网服务器
  - openvpn
  - pptpvpn
  - jumpserver

监控:检测到服务器上的应用、软件、网络、系统、业务状态
  - zabbix
  - nagios
  - open-falcon
  - promethues
  - cacti
 
 数据备份器:用来备份所有重要数据
  - rsync
 
 批量管理服务器
  - ansible
  - saltstack
  
 日志服务器
  - ELK
  - flume
 
 代码发布服务器
  - Jenkins
  
 代码存储服务器
  - Gitlab

架构环境准备

1.新建一台虚拟机

2.添加第二个网卡

3.设置lan区段

4.将镜像放进光驱里

5.开机装系统、修改网卡名

按Tab健 空格输入:net.ifnames=0 biosdevname=0

5.配置网卡

## 编辑第一块网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
删除UUID
BOOTPROTO=dhcp  => BOOTPROTO=static 或者BOOTPROTO=noneONBOOT=no    =>  ONBOOT=yes
IPADDR=10.0.0.100
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5

## 编辑第二块网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth1删除UUIDBOOTPROTO=dhcp  => BOOTPROTO=static 或者BOOTPROTO=none
ONBOOT=no    =>  ONBOOT=yes
IPADDR=172.16.1.100
NETMASK=255.255.255.0

## 重启网卡
systemctl restart network

系统基础优化

1.更改yum源
## 删除所有系统内置yum源
[root@localhost ~]# rm -fr /etc/yum.repos.d/*

## Base源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

## Epel源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

## 查看源文件
[root@localhost ~]# ll /etc/yum.repos.d/
-rw-r--r--. 1 root root 2523 May 12 20:02 CentOS-Base.repo
-rw-r--r--. 1 root root 664 May 12 20:03 epel.repo

## 优化阿里云的源(删除多余的baseurl)
[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo

# 2.安装基础命令和环境
yum install net-tools vim tree htop iftop gcc gcc-c++ glibc iotop lrzsz sl wget unzip
telnet nmap nc psmisc dos2unix bash-completion bash-completion-extra sysstat rsync nfs-utils httpd-tools -y

# 3.关闭防火墙
## 关闭防火墙服务
[root@localhost ~]# systemctl stop firewalld
## 取消防火墙开机自启
[root@localhost ~]# systemctl disable firewalld

# 4.关闭selinux
## 查看selinux
[root@localhost ~]# getenforce
Enforcing ## 开启状态

## 临时关闭
[root@localhost ~]# setenforce 0
## 永久关闭
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enfocing => SELINUX=disabled

# 5.优化文件描述符
## 查看文件描述
[root@lb01 ~]# ulimit -n
65535
[root@lb01 ~]# ulimit -a
## 设置文件描述符为65535
echo '* - nofile 65535' >> /etc/security/limits.conf

# 6.修改主机名和IP的脚本
[root@localhost ~]# vim host_ip.sh
#!/bin/bash
read -p 'Please input HOSTNAME:' h
read -p 'Please input IP:' IP
hostnamectl set-hostname $h
sed -i "s#100#$IP#g" /etc/sysconfig/network-scripts/ifcfg-eth{0,1}
systemctl restart network

克隆优化好的模板机

1.关机拍快照

2.创建链接克隆

posted @ 2022-05-16 20:29  Gie  阅读(99)  评论(0编辑  收藏  举报