zoukankan      html  css  js  c++  java
  • 服务器部署逻辑

    一、服务器选择

      服务器,也称伺服器,是提供计算服务的设备。现在可选择的服务器主要分为两种:物理服务器和云服务器。

    服务器

    1、物理服务器

      物理服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

    • CPU:
      计算机的性能在很大程度上由CPU的性能决定,而CPU的性能主要体现在其运行程序的速度上。影响运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。平常使用服务器时,最关心的就是CPU核心数和CPU主频。

    • Memory:
      内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。内存性能指标主要是容量和频率。

    • Storage:
      存储分为本地存储和外挂存储。
      硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。机械硬盘的性能指标主要是:容量、转速、缓存大小。固态硬盘最常应用于数据库服务器,如果不差钱,最好是能把所有的硬盘都换为固态硬盘。
      磁盘阵列:多块磁盘组成一个逻辑磁盘,电脑认为这是一块磁盘,数据写入时,数据拆分写在多块硬盘上。这样写和读都是多个硬盘同时执行,大大提升了效率。
      外挂存储主要有移动硬盘和OSS。

    • NIC:
      服务器上大多会有多个网卡。大多数服务器网卡速率都是十/百/千自适应网卡。有些会使用万兆网卡。

    2、云服务器

      云计算服务器(又称云服务器或云主机),是云计算服务体系中的一项主机产品。规格参数和性能指标基本同上。

    二、操作系统

      操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。

    操作系统

    • UNIX操作系统(尤尼斯):是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

    • windows操作系统:美国微软公司研发的一套操作系统,它问世于1985年,起初仅仅是Microsoft-DOS模拟环境,系统版本不断更新升级,Windows采用了图形化模式GUI,比起从前的DOS需要键入指令使用的方式更为人性化。

    -Linux操作系统:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。应用广泛主要是因为免费。

    1、Linux系统版本

    (1)Redhat系列

      拥有强大的rpm软件包管理系统,界面更加简洁。Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的RedhatAdvance Server,收费版本)、FedoraCore(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。

    (2)Debian系列:

      Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。

    (3)Gentoo

      Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

    (4)FreeBSD

      注意:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而 current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。

    (5)OpenSUSE

      OpenSUSE:在欧洲非常流行的一个Linux,由Novell公司发放,号称是世界上最华丽的操作系统,独家开发的软件管理程序zypper|| yast得到了许多用户的赞美,和ubuntu一样,支持kde和gnome,xface等桌面,桌面特效比较丰富,缺点是KDE虽然华丽多彩,但比较不 稳定。新手用这个也很容易上手。

    2、系统安装

    (1)初始化系统安装包
      根据系统服务器的角色安装不同的包。

    (2)初始化系统启动服务
      默认开机启动的服务。

    3、系统优化

    (1)内核优化
      主要包含:TCP/IP优化、IO优化(磁盘和网卡)、内存/CPU优化、文件系统优化。
      实现最少的投入服务最多的用户。实现大并发。

    (2)安全部署
      私有服务访问控制(端口和源地址限制)
      防火墙(拒绝所有允许个别或允许所有拒绝个别)
      selinux(针对文件服务器做保障的,保护文件不被黑客全部下载,但影响大并发,影响服务器性能,因此一般是关掉)

    三、部署逻辑

    部署逻辑

    1、业务环境

      一般公司会搭建三套环境,内测服务器(开发用,内测)、预发布服务器(测试用,公测)、线上服务器(用户用,上线)。

    2、特点

      三组服务器业务环节一模一样。保证代码测试方便,环境统一可以直接上线。

    3、功能

      测试代码

    4、部署架构图

    (1)测试环境部署(开发用)

    测试环境

    (2)预发布系统(测试用)

    预发布

    (3)线上业务服务器部署(生产)

    线上生产

  • 相关阅读:
    5-python基础—获取某个目录下的文件列表(适用于任何系统)
    Automated, Self-Service Provisioning of VMs Using HyperForm (Part 1) (使用HyperForm自动配置虚拟机(第1部分)
    CloudStack Support in Apache libcloud(Apache libcloud中对CloudStack支持)
    Deploying MicroProfile-Based Java Apps to Bluemix(将基于MicroProfile的Java应用程序部署到Bluemix)
    Adding Persistent Storage to Red Hat CDK Kit 3.0 (在Red Hat CDK Kit 3.0添加永久性存储)
    Carve Your Laptop Into VMs Using Vagrant(使用Vagran把您笔记本电脑刻录成虚拟机)
    使用Python生成一张用于登陆验证的字符图片
    Jupyter notebook的安装方法
    Ubuntu16.04使用Anaconda5搭建TensorFlow使用环境 图文详细教程
    不同时区的换算
  • 原文地址:https://www.cnblogs.com/xiugeng/p/10093388.html
Copyright © 2011-2022 走看看