一、AinSQL:数据库
二、Ansible: 服务机和客户机上传文件使用
ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的自动化IT运维管理工具。这个工具的目标有这么几项:让我们自动化部署APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。基于Python开发,可实现对多台服务器进行批量配置、程序的部署及指令的运行。大大减少了在运维工程中的工作量。
密钥同步机制
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
三、Apache+awstats:
Apache是世界使用排名第一的Web服务器软件。Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
Apacheweb服务器软件拥有以下特性:
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
四、Csvn:
CSVN,其实可以简单理解为SVN+Apache的集成版本,当然CSVN还有其他的一些特性,比如:角色的用户管理,灵活的角色和权限配置以及LDAP认证,基于角色的多仓库管理,自动备份、恢复,以及模板和Rest APIs管理。
五、DHCP:
DHCP是Dynamic Host Configuration Protocol的缩写,即动态主机配置协议。DHCP是一个很重要的局域网的网络协议,使用UDP协议工作,主要有以下用途:
1、为内部网络或网络服务供应商自动分配IP地址;
2、为用户或者内部网络管理员作为对所有计算机作中央管理的手段;
3、为内部网络用户接受IP租约。
而DHCP服务器就是专门承载和运行DHCP服务,并帮助我们管理IP的专用服务器,是运行MicrosoftTCP/IP、DHCP服务器软件和Windows NT Server的计算机。
在网络中配置DHCP服务器有如下优点:
1、大部分路由器可以转发DHCP配置请求,因此,互联网的每个子网并不都需要DHCP服务器;
2、客户机不需手工配置TCP/IP;
3、使用DHCP服务器能大大减少配置花费的开销和重新配置网络上计算机的时间,服务器可以在指派地址租约时配置所有的附加配置值;
4、提供安全可信的配置。DHCP避免了在每台计算机上手工输入数值引起的配置错误,还能防止网络上计算机配置地址的冲突;
5、客户机在子网间移动时,旧的IP地址自动释放以便再次使用。在再次启动客户机时,DHCP服务器会自动为客户机重新配置TCP/IP;
6、管理员可以集中为整个互联网指定通用和特定子网的TCP/IP参数,并且可以定义使用保留地址的客户机的参数。
利用DHCP服务器,我们可以灵活的利用手工分配、自动分配及动态分配3种分配方式,为DHCP客户机分配TCP/IP地址。从而做到更为方便的管理和维护DHCP客户机,同时也可以有效解决IP不够用的问题。
六、DNS
DNS(Domain Name System)是一个层次化、分布式域名系统,为接入互联网的设备提供服务。它关联域名到ip上,提供将域名转化为ip的服务。
域名(domain)由ascii码的子集组成,可含字符a-z,A-Z,0-9或-。域名具有层次结构,最右边为顶级域名,然后为子域名…所有域名组成的域名空间可以被表示成树形结构,每个节点含有该域名对应的资源记录(resource record)信息。比如一种A记录,记录着域名和ip地址的映射关系。一个或多个域名被划分为一个zone(区域),每个zone都会委派一个域名服务器(name server)管理这些域名。
七、Docker
docker概述
Docker Overview
一种容器式的虚拟化技术,让你可以中容器中开发、测试,并通过容器的方式交互,提高生产上线的周期。
Docker does this by combining kernel containerization features with workflows and tooling that help you manage and deploy your applications.
优点:相比与虚拟化来说,省去了HyperVisor层,部署更加快,且让你可以部署更多的容器。
Docker引擎是C/S模式的,包括:
服务器:长时间运行的程序,也叫Daemon进程。用来创建和管理Docker对象,包括镜像,容器,网络,数据卷等等。 像U盘一样,可以一键安装。直接可以拿来用的
八、Dokuwiki
DokuWiki是一个开源wiki引擎程序,运行于PHP环境下。DokuWiki程序小巧而功能强大、灵活,适合中小团队和个人网站知识库的管理。
DokuWiki比较适合研发团队使用,作为知识共享的工具。
九、fastdfs +nginx
FastDFS简介
1、FastDFS是一个轻量级的开源分布式文件系统
2、FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡
3、FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储
4、支持存储服务器在线扩容
5、支持相同内容的文件只保存一份,节约磁盘空间
6、FastDFS只能通过Client API访问,不支持POSIX访问方式
7、FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等)
FastDFS是一个开源的轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
十、FTP
FTP是文件传输协议的缩写,基于网络来传输文件的应用层协议。
FTP支持两种模式:Standard(PORT方式,主动方式),Passive(PASV,被动方式)。
Port模式:
FTP客户端首先和服务器的TCP21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令,PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器通过自己的TCP20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式:
建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
用途:
本地主机和远程主机之间传送文件。
实现文件传输协议的服务器和客户端软件非常多,VSftp就是服务器端的一个,一般安装在linux上。FileZilla Server也是服务器端的一个,一般安装在windows上。
客户端软件,一般推荐FileZilla
十一、HTTP
HTTP的工作流程
第一步:建立TCP/IP连接,客户端与服务器通过Socket三次握手进行连接
第二步:客户端向服务端发起HTTP请求(例如:POST/login.html http/1.1)
第三步:客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕
第四步:服务器做出应答,表示对于客户端请求的应答,例如:HTTP/1.1 200 OK
第五步:服务器向客户端发送应答头信息
第六步:服务器向客户端发送请求头信息后,也会发送一空白行,标示应答头信息发送完毕,接着就以Content-type要求的数据格式发送数据给客户端
第七步:服务端关闭TCP连接,如果服务器或者客户端增Connection:keep-alive就表示客户端与服务器端继续保存连接,在下次请求时可以继续使用这次的连接
十二、JBOSS
JBOSS的定义:是一个基于J2EE的开放源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3.0的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。可去JBOSS官网下载最新的JBOSS服务器。下面开始介绍JBOSS发布数据源,并通过Java代码测试
————————————————
十三、Jenkins
jenkins 一个持续集成和交付的服务器。
在介绍 Jenkins 之前首先了解一个概念 CI,也就是持续集成。持续集成是一种开发实践,即团队开发成员经常集成他们的工作,每次集成后都通过自动化构建服务来验证,从而尽快地发现集成错误。在大觅网的项目开发过程中,每当代码提交时,构建就会自动被触发。Jenkins 是一种开源的自动化服务工具,本身基于 Java 开发。它可以用于软件自动化构建、测试、部署等相关的所有任务,使软件的持续集成更加方便
Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)的基于web界面的平台。允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成。
十四、LAMP
常用的web架构
所谓lamp,其实就是由Linux+Apache+Mysql/MariaDB+Php/Perl/Python的一组动态网站或者服务器的开源软件,除Linux外其它各部件本身都是各自独立的程序,但是因为经常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
LAMP指的是Linux(操作系统)、Apache(HTTP服务器)、MySQL(也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python)的第一个字母,一般用来建立web应用平台。
web服务器工作流程
在说lamp架构平台的搭建前,我们先来了解下什么是CGI,什么是FastCGI,什么是…
web服务器的资源分为两种,静态资源和动态资源
静态资源就是指静态内容,客户端从服务器获得的资源的表现形式与原文件相同。可以简单的理解为就是直接存储于文件系统中的资源
动态资源则通常是程序文件,需要在服务器执行之后,将执行的结果返回给客户端
cgi与fastcgi
CGI(Common Gateway Interface,通用网关接口),CGI是外部应用程序(CGI程序)与WEB服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
FastCGI(Fast Common Gateway Interface)是CGI的改良版,CGI是通过启用一个解释器进程来处理每个请求,耗时且耗资源,而FastCGI则是通过master-worker形式来处理每个请求,即启动一个master主进程,然后根据配置启动几个worker进程,当请求进来时,master会从worker进程中选择一个去处理请求,这样就避免了重复的生成和杀死进程带来的频繁cpu上下文切换而导致耗时
httpd与php结合的方式
httpd与php结合的方式有以下三种:
modules:php将以httpd的扩展模块形式存在,需要加载动态资源时,httpd可以直接通过php模块来加工资源并返回给客户端
httpd prefork:libphp5.so(多进程模型的php)
httpd event or worker:libphp5-zts.so(线程模型的php)
CGI:httpd需要加载动态资源时,通过CGI与php解释器联系,获得php执行的结果,此时httpd负责与php连接的建立和断开等
FastCGI:利用php-fpm机制,启动为服务进程,php自行运行为一个服务,https通过socket与php通信
较于CGI方式,FastCGI更为常用,很少有人使用CGI方式来加载动态资源
2.3web工作流程
客户端通过http协议请求web服务器资源
web服务器收到请求后判断客户端请求的资源是静态资源或是动态资源
若是静态资源则直接从本地文件系统取之返回给客户端。
否则若为动态资源则通过FastCGI协议与php服务器联系,通过CGI程序的master进程调度worker进程来执行程序以获得客户端请求的动态资源,并将执行的结果通过FastCGI协议返回给httpd服务器,httpd服务器收到php的执行结果后将其封装为http响应报文响应给客户端。在执行程序获取动态资源时若需要获得数据库中的资源时,由Php服务器通过mysql协议与MySQL/MariaDB服务器交互,取之而后返回给httpd,httpd将从php服务器收到的执行结果封装成http响应报文响应给客户端。
————————————————-------------------------------------
十五、LNMP
一)、什么是lnmp?
LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。
L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
二)、lnmp的工作原理
浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求。如果是静态文本直接返回,否则将脚本(PHP)通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),然后PHP-FPM调用PHP解析器的其中一个进程PHP-CGI来解析php脚本信息。【PHP-FPM在启动时启动了多个PHP-CGI子进程,并发执行。】然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx。服务器再通过Http response的形式传送给浏览器,浏览器再进行解析与渲染然后进行呈现。
Fast-CGI 介绍
FastCGI是一个可伸缩的,高速地在HTTP服务器和动态脚本语言间通信的接口(在Linux下,FastCGI接口即为socket,这个socket可以是文件socket,也可以是IP socket),主要优点是把动态语言和HTTP服务器分离出来。多数流行的HTTP服务器都支持FastCGI,包括Apache,Nginx和Lighttpd等。
同时,FastCGI也被许多脚本语言所支持,例如当前比较流程的脚本语言PHP。FastCGI接口采用的是C/S架构,它可以将HTTP服务器和脚本解析服务器分开,同时还能在脚本解析服务器上启动一个或多个脚本来解析守护进程。当HTTP服务器遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求,或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。
————————————————
Fast-CGI的工作原理
Web Server启动时载入Fast-CGI进程管理器(IIS ISAPI或Apache Module)
FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接
当客户端请求到达Web Server时,Fast-CGI进程管理器选择并连接到一个CGI解释器
Web server将CGI环境变量和标准输入发送到Fast-CGI子进程php-cgi
Fast-CGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server
当Fast-CGI子进程关闭连接时,请求便告处理完成
Fast-CGI子进程接着等待并处理来自Fast-CGI进程管理器(运行在Web Server中)的下一个连接
在CGI模式中,php-cgi在此便退出了
在上述情况中,你可以想象CGI通常有多慢
每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构
使用Fast-CGI,所有这些都只在进程启动时发生一次
一个额外的好处是,持续数据库连接(Persistent database connection)可以工作
————————————————
fastcgi的特点
HTTP服务器和动态脚本语言间通信的接口或工具。
可把动态语言解析和HTTP服务器分离开。
Nginx,Apache,Lighttpd,以及多数动态语言都支持FastCGI。
FastCGI接口方式采用C/S结构,分为客户端(HTTP服务器)和服务器端(动态语言解析服务器)
PHP动态语言服务器端可以启动多个FastCGI的守护进程(例如php-fpm(fcgi process mangement))
HTTP服务器通过(例如Nginx fastcgi_pass)FastCGI客户端和动态语言FastCGI服务器端通信(例如php-fpm
三)、LAMP的不同
LAMP指的是:Linux+Apache+MySQL+Perl/PHP/Python
由于Nginx拥有超越Apache的卓越性能,LNMP正在逐渐取代LAMP
在LNMP中,Nginx本身对脚本不做任何的处理,而是把请求发给fast-cgi管理进程处理
fast-cgi管理进程选择cgi子进程处理结果并返回,二者是相互独立的,通过管道进程通信
在LAMP中,PHP是Apache的一个模块,具有相同的生命周期,两者通过共享内存的方式通信
两者的PHP环境不相互适用
相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率
nginx本身不能处理php,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi进程处理结果并返回给nginx。
apache+php和nginx+php的区别
apache一般是把php当作自己的一个模块来启动;而nginx则把http请求变量转发给php进程,即php独立进程,与nginx通信,这种方式叫做FastCGI运行方式。
所以,apache所编译的php不能用于nginx
四)、为什么要选择LNMP?
LNMP是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、PHPMyAdmin、eAccelerator一键安装包
可以在VPS、独立主机上轻松的安装LNMP生产环境。
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构
Nginx较为稳定、功能丰富、安装配置简单、低系统资源
Nginx既可以在内部直接支持Rails和PHP,也可以支持作为HTTP代理服务器对外进行服务
Nginx用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal好得多
————————————————
十六、media wiki
MediaWiki全球最著名的开源wiki程序,运行于PHP+MySQL环境。MediaWiki从2002年2月25日被作为维基百科全书的系统软件,并有大量其他应用实例。MediaWiki的开发得到维基媒体基金会的支持。
MediaWiki是建立wiki网站的首选后台程序,目前国内的灰狐维客等站点都采用这套系统
优点
1经受过重量级应用的考验,功能丰富却架设简单.
2全世界最大的wiki项目维基百科是使用mediawiki的成功范例,数据量、访问量都超级庞大
3mediawiki的功能非常丰富,支持多语言版本,充分满足知识站点的需要
运行环境要求很低,架设过程简洁,即使新手也可以迅速建立自己的站点
4最大的wiki程序社区
5mediawiki是目前应用最广的wiki程序,数以万计的网站在使用它,很容易找到范例站点
6有大量的热心参与人员参与研究,资料多,容易找到互相交流的朋友.
7持续开发,程序特性功能不断完善,保证未来的支持
系统特色:
记录所有的改动版本,能方便的查阅历史更新记录,这使得开放性编辑成为可能。
可以自定义监视列表,针对监视指定页面的更改。
允许使用模板,方便对相同内容的重复使用、更新。
支持分类,并根据分类在不同的文章之间自动产生关联。
允许每个用户自行选择系统外观和用户脚本。
国际化较好的支持,对中文也有较好的支持(内置了多书写系统自动互转,中文实现了繁简和地区化转换)。
维基百科(Wikipedia),是一个基于维基技术的多语言百科全书协作计划,用多种语言编写的网络百科全书。
非营利组织维基媒体基金会负责营运维基百科,接受捐赠。
维基定义
亿万网民自发形成共同参与创建、维护、编辑、修改的一个网络空间
维基百科(英语:Wikipedia,/ˌwɪkᵻˈpiːdiə/ 或 /ˌwɪkiˈpiːdiə/)是一个网络百科全书项目。特点是自由内容、自由编辑。它是全球网络上最大且最受大众欢迎的参考工具书,名列全球十大最受欢迎的网站。维基百科由非营利组织维基媒体基金会负责营运。Wikipedia是一个混成词,取自网站核心技术“Wiki”和英文中百科全书之意的“encyclopedia”。
维基百科是强调Copyleft自由内容、协同编辑以及多语版本一个的网络百科全书项目,以互联网和Wiki技术作为媒介,已发展为一项世界性的百科全书协作计划。项目由非营利组织维基媒体基金会负责相关的发展事宜。维基百科由全球各地的志愿者们合作编撰而成,整个计划已收录了超过3,000万篇条目,其中英语维基百科以超过450万篇条目在数量上位居首位
十七、Mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
十八、NFS
网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。
网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。虽然 NFS 不是第一个此类系统,但是它已经发展并演变成 UNIX系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。
NFS可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。 [4]
NFS的工作原理是使用客户端/服务器架构,由一个客户端程序和服务器程序组成。服务器程序向其他计算机提供对文件系统的访问,其过程称为输出。NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器中“输送”出来。文件通常以块为单位进行传输。其大小是8KB(虽然它可能会将操作分成更小尺寸的分片)。NFS传输协议用于服务器和客户机之间文件访问和共享的通信,从而使客户机远程地访问保存在存储设备上的数据。
十九、Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:
在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。
二十、NTP
网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。
中文名
网络时间协议
外文名
Network Time Protocol(NTP)
目 标
提供高精准度的时间校正
解 释
使计算机时间同步化的一种协议
最新版本
NTPv4
Time.windows.com
CDN 技术
内容分布式网络
抢红包就是 ntp放大攻击
二十一、PHP
PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
中文名
超文本预处理器
外文名
PHP: Hypertext Preprocessor
编程范型
面向对象、命令式编程
设计者
Rasmus Lerdorf
PHP语言具有较高的数据传送处理水平和输出水平,可以广泛应用在Windows系统及各类Web服务器中。如果数据量较大,PHP语言还可以拓宽链接面,与各种数据库相连,缓解数据存储、检索及维护压力。随着技术的发展,PHP 语言搜索引擎还可以量体裁衣,实行个性化服务,如根据客户的喜好进行分类收集储存,极大提高了数据运行效率。
二十二、redis
Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
Nosql 非关系型数据库。
Select * from result
Set laaa hhjjsjj 一个有介词 动词等有关系的
没有介词和动词等关系 就叫做非关系
二十三、rsync
rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。
做系统限制
不但可以同步文件, 还可以对系统有一个操作的能力,
漏洞:自己找???
外文名
rsync
全 称
remote sync
定 义
linux系统下的数据镜像备份工具
优 点
远程同步和支持本地复制
特性
它的特性如下:
可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜像。 [1]
参数详解
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对文件传输进行校验
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理
-R, --relative 使用相对路径信息
-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用–suffix选项来指定不同的备份文件前缀。
–backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX 定义备份文件前缀
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
-l, --links 保留软链结
-L, --copy-links 像对待常规文件一样处理软链接
–copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链接
–safe-links 忽略指向SRC路径目录树以外的链接
-H, --hard-links 保留硬链接
-p, --perms 保持文件权限
-o, --owner 保持文件属主信息
-g, --group 保持文件属组信息
-D, --devices 保持设备文件信息
-t, --times 保持文件时间信息
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
-n, --dry-run显示哪些文件将被传输
-W, --whole-file 拷贝文件,不进行增量检测
-x, --one-file-system 不要跨越文件系统边界
-B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节
-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步
–rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
–existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
–delete 删除那些DST中SRC没有的文件
–delete-excluded 同样删除接收端那些被该选项指定排除的文件
–delete-after 传输结束以后再删除
–ignore-errors 即使出现IO错误也进行删除
–max-delete=NUM 最多删除NUM个文件
–partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
–force 强制删除目录,即使不为空
–numeric-ids 不将数字的用户和组ID匹配为用户名和组名
–timeout=TIME IP超时时间,单位为秒
-I, --ignore-times 不跳过那些有同样的时间和长度的文件
–size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间
–modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
-T --temp-dir=DIR 在DIR中创建临时文件
–compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份
-P 等同于 --partial
–progress 显示备份过程
-z, --compress 对备份的文件在传输时进行压缩处理
–exclude=PATTERN 指定排除不需要传输的文件模式
–include=PATTERN 指定不排除而需要传输的文件模式
–exclude-from=FILE 排除FILE中指定模式的文件
–include-from=FILE 不排除FILE指定模式匹配的文件
–version 打印版本信息
–address 绑定到特定的地址
–config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
–port=PORT 指定其他的rsync服务端口
–blocking-io 对远程shell使用阻塞IO
-stats 给出某些文件的传输状态
–progress 在传输时显示传输过程
–log-format=formAT 指定日志文件格式
–password-file=FILE 从FILE中得到密码
–bwlimit=KBPS 限制I/O带宽,KBytes per second
-h, --help 显示帮助信息
二十四、Samba
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
中文名
信息服务块
外文名
samba
全 称
Server Messages Block
类 属
软件
二十五、web
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
中文名
全球广域网或万维网
外文名
web
全 称
World Wide Web
表现形式
超文本、超媒体、超文本传输协议
二十六、YUM
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 [1]
中文名
Shell前端软件包管理器
外文名
Yellow dog Updater, Modified
稳定版本
3.4.3 / 2011年6月28日
许可协议
GPL
类 型
包管理工具
操作系统
Fedora Linux
常用命令行命令
安装软件(以foo-x.x.x.rpm为例):yum install foo-x.x.x.rpm
删除软件:yum remove foo-x.x.x.rpm或者yum erase foo-x.x.x.rpm
升级软件:yum upgrade foo或者yum update foo
查询信息:yum info foo
搜索软件(以包含foo字段为例):yum search foo
显示软件包依赖关系:yum deplist foo
-q 静默执行
-t 忽略错误
-R[分钟] 设置等待时间
-y 自动应答yes
--skip-broken 忽略依赖问题
--nogpgcheck 忽略GPG验证
check-update 检查可更新的包
clean all 清除全部
clean packages 清除临时包文件(/var/cache/yum 下文件)
clean headers 清除rpm头文件
clean oldheaders 清除旧的rpm头文件
deplist 列出包的依赖
list 可安装和可更新的RPM包
list installed 已安装的包
list extras 已安装且不在资源库的包
info 可安装和可更新的RPM包 信息
info installed 已安装包的信息(-qa 参数相似)
install[RPM包] 安装包
localinstall 安装本地的 RPM包
update[RPM包] 更新包
upgrade 升级系统
search[关键词] 搜索包
provides[关键词] 搜索特定包文件名
reinstall[RPM包] 重新安装包
repolist 显示资源库的配置
resolvedep 指定依赖
remove[RPM包] 卸载包