什么是软件:软件就是程序、文档、数据的一个集合。我们平时电脑中用的QQ等程序、网站、手机中的APP都是以相同的方式运行的。

常见的软件的表现 : APP,网址 }前端

服务器:(本质上就一台电脑的主机)}后端

  • 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。




软件内部组件运维监控流程图 什么是内部软件_服务器


软件的结构类型


软件内部组件运维监控流程图 什么是内部软件_软件内部组件运维监控流程图_02


c/s 客户端/服务器 :(占据大部分软件,比如:QQ,微信,360,XMind)

c 表示客户端 : 用户通过客户端来使用软件

s 表示服务器 :负责处理软件的业务逻辑

B/S 浏览器/客户端:本质也是c/s,只不过B/S架构的软件使用浏览器作为软件的客户端B/S架构的软件通过使用浏览器访问网页的形式来访问软件 (比如:京东,淘宝)

C/S架构的优缺点:

优点:

  • 1.客户端因为是独立设计,所以可以实现个性化
  • 2.因为客户端是需要进行安装的,可以不需要重复安装和加载
  • 3.因为客户端是独立开发的,所以有能力对客户端进行安全设计
  • 4.如果遇到不同的操作系统,需要为不同的操作系统各开发一套客户端【比如:android /ios】

另一个是服务端/后段。也就是常说的服务器。

缺点:

  • 1.适用面窄,通常用于局域网中。
  • 2.维护成本高,发生一次升级,则所有客户端的程序都需要改变。

B/S架构的优缺点:

优点:

  • 1.因为B/S架构具备通用性,所以开发成本较低。
  • 2.因为不需要安装客户端,所以客户端不需要进行升级,只需要更新后台代码即可实现所有客户端的更新。
  • 3.因为B/S架构多用WEB网页进行开发,所以增、删功能也非常容易,只需要修改网页即可完成1.1前段/客户端

缺点:

  • 1.耗流量,每次都要加载全部的内容(不过有缓存可以降低流量损耗)
  • 2.因为没有独立的客户端,所以无法实现个性化(通过账号体系可以实现)
  • 3.因为没有独立设计客户端,所以客户端难以实现安全控制

软件的结构:


软件内部组件运维监控流程图 什么是内部软件_服务器_03


软件由前端(用户端)与后端(服务端)组成。

需要联网才能使用,其实就是用我们的用户端去连接了服务端。连接用户端和服务端的通道就是接口。


软件内部组件运维监控流程图 什么是内部软件_类似飞秋的局域网软件_04


前端:客户端(前台)、商家端、管理端(后台)属于前端;客户端大多都有APP【android/ios】版与web版;商家端、管理端一般只有web版。

后端:后端是运行在服务器(电脑)上的。

服务器运行需要的条件:

  • 1.程序的运行环境。软件都是需要安装运行环境才可以运行;例如安装了Java软件,还需要安装Java运行环境才能运行Java编写的代码。我们平时很多软件安装后就能使用是因为Windows自带了部分软件的运行环境。
  • 2.服务器软件。提供访问的服务,给我们开放访问服务器的端口。
  • 3.数据库。存储系统的所有数据。
  • 4.后端程序

(安装前三个软件都是为了让后端程序运行起来)


网络知识:


软件内部组件运维监控流程图 什么是内部软件_类似飞秋的局域网软件_05


  • 域名
  • IP
  • 端口

一、域名:

域名可以简单理解为通往你网站的路,简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,通常由一串字符和后缀组成。

二、IP:IP是英文Internet Protocol的缩写,意思是“网络之间互连的协议”,也就是为计算机网络相互连接进行通信而设计的协议。

1、公网IP

2、局域网IP


软件内部组件运维监控流程图 什么是内部软件_服务器_06

公网IP是全世界唯一的IP地址,仅分配给一个网络设备。而内网(局域网)IP是由路由器分配给每一部内部使用的IP地址,而内网的所有用户都是通过同一个外网IP地址进行上网的。

公网IP(外网IP):局域网通过一台服务器或者路由器对外连接网络的唯一IP地址,通俗点就是局域网中所有想要对外连接网络,都得通过这个IP地址。

内网IP:也就是常说的局域网,局域网中的每台电脑都是通过路由器或者交换机连接起来,形成的网络,每台电脑的IP地址不同,对外使用同一个公网IP。 通俗点说,就是公司有两台电脑,通过网线,路由器等设备可以组建一个局域网,大家可以自由设置内网的IP,比如电脑1的内网IP为192.168.1.1,电脑2的内网IP为192.168.1.2,通过这两个IP地址,可以互相访问各种的电脑,但是对外网无效。如果大家想要对外连接互联网Internet,需要向电信等网络提供商申请分配一个IP地址,大家通过拨号上网,就可以进行浏览网页,QQ聊天,游戏等等


软件内部组件运维监控流程图 什么是内部软件_服务器_07


3、本机IP:即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。

查看本机ip地址方法:点击电脑开始菜单-运行,输入cmd回车,进入dos界面;

查询本机外网ip地址方法:在浏览器中打开百度网址,输入ip回车,即可查看搜索结果第一栏为本机外网ip地址;


服务器软件:


软件内部组件运维监控流程图 什么是内部软件_服务器_08


  • Web服务器
  • HTTP服务器
  • 应用服务器

1、Web服务器

顾名思义,Web的功能就是提供Web化服务。那什么又叫Web服务呢,简单点理解比如:网站页面服务、邮件服务、网络下载服务等等,都可以称作Web化服务。

总而言之,Web服务器从广义上来说,就是响应用户的需求并提供响应和服务。所以从这个角度来讲,当下几乎所有服务器软件都可以称之为Web服务器。

2、HTTP服务器

由于当今Web服务器应用层通信协议主要就是HTTP协议,所以我们 “基本”上可以将HTTP服务器理解为和Web服务器对等,因此在下文的阐述时这两个概念不会作过多的纠结区分。

HTTP服务器只是把服务器上的资源通过HTTP协议传输给了客户端,所以这地方我们 侧重于 它对于静态资源传输的支持。因此一般也理解为静态服务器。

当然它的功能一般不止这些,实际企业里也常做反向代理、负载均衡等用途。

3、应用服务器

应用服务器,则可以理解为一个特定应用的承载容器。一般来说它需要有运行时环境的支持。比如在Java领域比较常用的应用服务器Tomcat,它就必须要Java运行时环境的支持。

因此,应用服务器也常常被称为:动态服务器、动态容器、应用容器、Web容器等等,这些概念基本都是对等的。

既然属于动态服务器,很明显它就能支持动态响应,比如可以根据不同用户的请求,能够动态的生成资源并返回。这样一来,在客户端,不同用户拿到的返回内容也不一样,不像静态服务器,大家拿到的资源都一样。

当然一般来说,在流量不大的场景下,应用服务器肯定也是可以做HTTP服务器来用,只不过很少有这么去干的。

所以接下来我们就以目前市场上常用的服务器软件为例:

Nginx

Nginx是一个典型的HTTP服务器。它原本的本职工作就是将服务端的某一个静态内容或资源通过HTTP协议传到客户端,所以也就是典型的静态服务器。


软件内部组件运维监控流程图 什么是内部软件_服务器_09


当然Nginx服务器的功能远不止这些,现在常用的功能还包括做反向代理、负载均衡。

现实应用部署场景中,Nginx一般是与后面真正的动态应用服务器打配合,比如Tomcat,把用户请求转发给后面的应用服务器,从而提供灵活稳定的Web服务。因为Nginx服务器性能好,稳定性也高,能扛得住冲击,把它放在前面去直面用户。


软件内部组件运维监控流程图 什么是内部软件_IP_10



Tengine

Tengine其实是基于Nginx服务器做的改造,可以看做是在Nginx的基础上又做了加强和封装,主要就是针对大流量网站的需求,添加了很多高级功能和特性。


软件内部组件运维监控流程图 什么是内部软件_类似飞秋的局域网软件_11


软件内部组件运维监控流程图 什么是内部软件_服务器_12


Tengine它是淘宝发起的Web服务器项目。它的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

所以Tengine它和Nginx这俩是一个性质的东西。


IIS

IIS是微软阵营的Web服务器,只能运行于Windows系统下,而且并不是开源的。


软件内部组件运维监控流程图 什么是内部软件_局域网代理上网软件_13


IIS的主要身份还是一个HTTP服务器,但由于它也支持比如http://ASP.NET这种类似环境(毕竟都是微软自家的东西),因此也可以兼做应用服务器,所以它可以定位为一个具有应用服务器能力的HTTP服务器。


Apache


软件内部组件运维监控流程图 什么是内部软件_软件内部组件运维监控流程图_14


Apache服务器具体指的就是:Apache HTTP Server,它是Apache软件组织旗下的一个HTTP服务器项目。

Apache从功能上来说和Nginx服务器对等,也是做静态HTTP服务器,只不过在并发、负载和资源消耗等方面的性能都比不上Nginx,所以现在选用Nginx的更多。


Gunicorn

Gunicorn 的全称是 Green Unicorn,是在 UNIX 系统上运行的 WSGI 服务器。Gunicorn 与各种 Python Web 框架兼容,配置简单,且对资源的消耗非常少。Gunicorn 基于 pre-fork worker 模式,运行时会有一个 Master 进程和多个 Worker 进程。Master 是一个中控进程,实现对所有 Worker 的管理。同时,Master 也不会关心客户端,所有的请求与响应都由 Worker 来完成。


软件内部组件运维监控流程图 什么是内部软件_IP_15


gunicorn 是面向 Python WSGI 应用的 HTTP 服务器。它在 Linux/Unix 上运行,优点是轻量级且速度快。gunicorn 通过一个控制进程和多个工作进程来执行应用程序。由于它是一个 Python 模块,所以可以变更工作进程的类以及扩展服务器本身。


windows的基本操作

——配置环境变量

把软件的目录写到环境变量的PATH中


软件内部组件运维监控流程图 什么是内部软件_IP_16


JDK的安装

1.将jdk装包下载好;

2.双击安装包开始安装,一直下一步即可,自己也可以选择自己喜欢的位置安装;

3.配置环境变量:我的电脑>右键>属性>高级系统设置>环境变量>在系统变量中找到Path并进行编辑, 将jdk下bin目录的路径和jdk下的jre的bin目录的路径加入即可;


软件内部组件运维监控流程图 什么是内部软件_类似飞秋的局域网软件_17


4.检查是否配置成功,打开cmd,输入java -version和javac -version查看jdk版本,如果能成功查看说明配置成功。


软件内部组件运维监控流程图 什么是内部软件_服务器_18