如何在Linux中配置WWW服务器?

如何在Linux中配置WWW服务器?,第1张

永利棋牌源码搭建出现的问题:
永利棋牌网络上提供的棋牌游戏源代码被大量分析,甚至已经成为“行业模板”。棋牌游戏的普及也使得源代码交易很早就进入了游戏市场,所以很多企业为了缩短周期,通常会使用统一的代码来批量生产游戏,甚至直接使用市场上的免费开源软件直接销售。由此开发的棋牌游戏系统,被攻击的风险便会大大的提高。

如果只是做测试用,用双路四核超线程的服务器就可以满足了。

你可以看看国产品牌正睿的这款双路四核服务器。标配一颗至强E5620四核八线程处理器(24GHz/586GT/12M缓存),英特尔5500服务器芯片组主板,4G DDR3 REG ECC 1333MHz内存,SATA2 500G硬盘,双千兆网卡,性能可以说是非常不错。如果以后随着业务量的增长,觉得性能不够用了,还可以扩展到两颗处理器,达成8颗处理核心,16条处理线程(在任务管理器处能看到16个处理核心的格子- -~很NB),最大支持48GB DDR3 REG ECC高速容错校验内存。
产品型号:I249739S
产品类型:双路四核塔式服务器
处 理 器:Xeon E5620
内 存:4G DDR3 ECC
硬 盘:SATA2 500G
机 构:塔式
价 格:¥7699

银牌服务
全国三年免费上门售后服务,关键部件三年以上免费质保。

如果测试好了,要做生产应用,你再把内存加到16G或者48G都ok,CPU升级到2个,达成物理8核心,16个计算线程。

给你推荐的是国产品牌正睿的服务器产品,他们的产品性价比很高,做工很专业,兼容性,质量之类的都有保障,售后也很完善,3年免费质保,3年免费上门售后服务,在业界口碑很不错。

AS是一种直接连接到IP网络之中的任务优化高性能存储设备。它的工作独立于多用途服务器,只用于一个用途–文件服务。NAS将专业化的文件服务器与存储技术相结合,通过文件系统的集中化管理实现网络文件的共享访问。允许一个异构(多协议)环境中的多个客户机和其它服务器共享数据。与传统存储技术相比,NAS主要有以下特性。
▪易于安装。NAS设备的安装非常简单,不需要任何其他专业 *** 作就可以很容易地集成到网络中。NAS产品是真正即插即用的产品,内置专门用于数据存储的简化 *** 作系统和网络协议,可以直接挂接到网络上。只需将NAS服务器连接到交换机上,分配一个IP地址即可,几分钟内就可完成安装并运行。
▪易于部署。NAS设备的物理位置是灵活的。它们可放置在网络中心局域网内,靠近数据中心的应用服务器;也可放在其他地点,通过物理链路与网络连接起来。用户可根据需要来确定NAS的物理位置,一般将其放置在访问频率最高的地方,以进一步缩短用户的访问时间并提高网络吞吐量。
▪方便使用和管理。客户不需安装任何额外软件,NAS服务器的设置、升级及管理均可通过Web浏览器远程实现。NAS服务器与网络直连(直接连接在网络核心交换机),当增加或移去NAS设备时不会中断网络的运行。
▪整体性能高。无需应用服务器的干预,NAS设备允许用户在网络上存取数据;这样既可减小CPU的开销,也能显著改善网络的性能。
▪跨平台使用。基于TCP/IP的数据传输使NAS可以支持多种网络文件系统,如NFS、CIFS、NCP和AFP等。NAS独立于 *** 作系统平台,可以支持Windows、UNIX、Mac、Linux
不同 *** 作系统平台的文件可以共享,具有文件服务器的特点。NAS与DAS相比拥有更大的存储空间和相对低廉的价格。
▪提高数据可用性。NAS的数据可用性包括四个方面:
① 采用磁盘阵列技术,NAS可保证硬件设备和数据的安全与完整。
② 通过网络共享数据,即使相应的应用服务器不再工作了,仍然可以读取数据。
③ 采用嵌入式 *** 作系统,而且不运行应用软件,具有很强的稳定性和可靠性。
④ 网络管理员可方便地设置用户或用户组对NAS服务器的访问权限。
▪性能价格比优异。NAS为那些访问和共享大量文件系统数据的企业环境提供了一个高效、性能价格比优异的解决方案。NAS是精简型服务器,在硬件架构上只需CUP、内存、硬盘、网卡和主机板等。在软件方面, *** 作系统也是精简型系统,有些甚至是免费的Linux;因此在成本方面比普通服务器便宜很多,而作为专用存储服务器的性能则更高。
3 NAS的应用场合
对于用户来说,使用NAS具有以下好处。
▪发挥存储设备的效益。NAS集中管理和分配存储空间,不仅可节省大量的硬件购置费用,还能充分利用硬盘的空间。
▪集中管理数据。通过NAS将原本分散的数据集中在同一存储装置上,即便于数据的管理和控制,又便于数据备份。
表81给出了NAS与DAS的性能对比表。NAS主要面向高效的文件共享任务,适用于那些需要通过网络传送大量文件数据的场合。例如,当企业需要应付快速数据增长的问题,或者解决相互独立的工作环境所带来的系统限制时,可以采用NAS技术。利用集中化的网络文件访问机制和共享来解决这些问题,从而达到减少系统管理成本,提高数据备份和恢复功能的目的。在某些情况下,企业可以有限地为数据库应用部署NAS解决方案。NAS对于通过网络将文件数据传输到多个客户端的需求,NAS能够很好地胜任。因为大多数NAS请求是针对少量数据的,数据可以高效地传输很长距离。

转载表面上看,是一套基于B/S方式实现的分布式管理系统,但其实背后的架构是基于C/S完成的。你以为他是一只鞋吗?其实他是一个吹风机。作为界面化的系统,浏览器框架是不可或缺的,但更加重要的东西在Socket上面。

一、需要解决中央控制端到各节点服务器之间的通信。

这个其实牵扯到一个通信协议的问题,各语言都有自己的socket,thread的库,直接调用即可。但是这个通信协议就需要自己来完成了。既不能太简单,太简单了,明码传输,如果别人获知了这个接口,就很容易执行一些令人讨厌的 *** 作。也不能太复杂,太复杂了等于是给自己找麻烦,所以简单的数据包编解码的工作或者用token验证的方式是需要的。通信协议起码要两种,一种是传输命令执行的协议,一种是传输文件的协议。

二、跨语言的socket通信

为什么要跨语言,主控端和代理端通信,用什么语言开发其实无所谓。但是为了给自己省事,尽可能使用服务器上已经有了的默认语言,Ambari前期采用phppuppet的方式管理集群,这不是不可以,puppet自己解决了socket通信协议和文件传输的问题,可你需要为了puppet在每台服务器上都安装ruby。我是个有点服务器和代码洁癖的人。光是为了一个puppet就装个ruby,我觉得心里特对不起服务器的资源。所以我自己写了一个python的代理端。python是不管哪个linux系统在安装的时候就都会有了。然后主控端的通信,可以用python实现,也可以用php实现,但是考虑到对于更多的使用者来说,改php可能要比改tornado简单许多,所以就没用python开发。hadoop分支版本众多,发布出去,用户要自己修改成安装适合自己的hadoop发行版,就势必要改源码,会php的明显比会python的多。php里面的model封装了所有的 *** 作,而python只是个 *** 作代理人的角色而已。

所以也延伸出一个问题,什么语言用来做这种分布式管理系统的代理端比较合适,我自己觉得,也就是python比较合适了, *** 作系统自带,原生的package功能基本够用。用java和php也可以写agent,但是你势必在各节点预先就铺设好jre或者php运行环境。这就跟为什么用python和java写mapred的人最多是一样的。没人拦着你用nodejs写mapred,也可以写,就是你得在每个节点都装v8的解释引擎,不嫌麻烦完全可以这样干。原理参看map/rece论文,不解释。perl也是 *** 作系统原生带的,但是perl的可维护性太差了,还是算了吧。

所以这就牵扯到一个跨语言的socket问题,理论上来说,这不存在什么问题。但这是理论上的,实际开发过程中确实存在问题,比如socket长连接,通信数据包在底层的封装方式不同。我没有使用xml-rpc的原因之一就是我听说php的xmlrpc跟其他语言的xmlrpc有不同的地方,需要修改才能用,我就没有用这种办法。最早是自己定义的 *** 作协议,这时就遇到了这些问题,所以后来直接采用了thrift方式。就基本不存在跨语言的socket通信问题了。

三、代理端执行结果的获取

无论命令还是文件是否在代理端执行成功,都需要获取到执行结果返回给中央端。所以这里也涉及一个读取节点上的stdout和stderr的问题。这个总体来说不是很难,都有现成的包。当然这个时候你需要的是阻塞执行,而不能搞异步回调。

还有个问题是,我要尽可能使用python默认就带的包,而尽量不让服务器去访问internet下载第三方的包。

还有代理端最重要的一点,就是python的版本兼容性。centos5用python24,centos6用python26,ubuntu基本默认都是27。所以一定要最大限度的保证语言的跨版本兼容性,要是每个 *** 作系统和每一个版本我都写一个代理,我一个人就累死了。

四、浏览器端的model,view,controller

这里面你要封装好所有的通信协议,以及需要在节点上面执行的脚本。发送文件的 *** 作和数据库 *** 作也要在model里面完成。

如果对tcl/tk很熟,也可以写基于 *** 作系统界面方式的管理,不用浏览器就是了。

view对我来说是最痛苦的事,都是现学的jQuery怎么用,前端的工作太可怕了。关于这方面,没有太多可描述的,html和js带给我的只有痛苦的回忆,万恶的undefined。

五、跨 *** 作系统的安装文件封装。

要适应不同的 *** 作系统也是个很麻烦的事情,需要用agent提前获知 *** 作系统的发行分支,版本号。然后去找到对应的安装文件去执行。你不能保证一个分布式系统的集群中所有的节点都可以访问internet,更多的情况是这些节点都存在在一个安全的内网中。只有个别几个节点是可以访问外网的。所以,我势必要把所有的安装文件以及他们的依赖尽可能集中起来。我不确定安装 *** 作系统的lzo,yum或者apt-get会去下什么鬼东西,甚至无论是yum还是apt-get,里面都没有hadoop-lzo的库文件。所以,最好的办法是自己编译打包rpm和deb包。直接安装就好了,别去找repo下载什么。

这就是第五步工作,把需要的依赖的东西自己编译打包成rpm和deb。

deb包很好解决,但是rpm就没那么好办了,需要学习rpm的编译文件如何编写,这块是挺麻烦的,但是这玩意用好了还是挺不错的。现在我自制的安装包里面就已经包含了自己编译的lzo和snappy两种压缩库,以及hadoop-gpl-packaging的rpm和deb。下一个发布的easyhadoop将直接支持centos5,6,suse,以及ubuntu/debian的系统上安装hadoop。已经自带了lzo和snappy以及lzop和snzip。

六、把这些所有东西,整合到一个系统里面。

关联这些所有事情间的联系,整合到一个浏览器界面里面去。写一个分布式的管理脚本不难,写一个界面也不难,但是也许是我的水平不行,这两件事结合起来让他们协同工作还是有点难度的。对我来说,写界面的工作可能更难一点。

Cloudera可能是十来个人在写Manager的东西,ambari也是放到github和apachesvn上面,apache基金会的各种committer在写。easyhadoop没他们功能那么强大,一年来只有我一个人设计架构,功能,各种语言的编码,测试,发布。Fortheloveofgod,WhathaveIdone(英文部分请站在山顶仰天长啸)T_T。从前台到后台,到hadoop和生态系统以及他们的依赖软件的单独patch、编译打包。(系统yum或者apt-get的包不如自己打的好使。)

从时间上来看,全球第一款开源的hadoop部署管理系统应该还是属于ambari,2011年8月开始写的,2012年9月底进入apache的incubator。我是大概2012年8月开始写的easyhadoop,全球第一没赶上,估计国内第一个开源的hadoop管理系统还是可以排上的。

DHCP协议的功能为:集中的管理、分配IP地址。

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要具有以下功能:

1保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。

2DHCP应当可以给用户分配永久固定的IP地址。

3DHCP应当可以同用其他方法获得IP地址的主机共存。

4DHCP服务器应当向现有的BOOTP客户端提供服务。

扩展资料:

DHCP 避免了因手工设置IP地址及子网掩码所产生的错误,同时也避免了把一个IP地址分配给多台计算机所造成的地址冲突,而客户机也只需将TCP/IP配置全设置为自动获取即可上网。

DHCP服务降低了管理IP地址设置的负担,使用DHCP 服务器大大缩短了配置或重新配置网络中工作站所花费的时间,达到了最高效地利用有限的IP地址的目的。

由于包含IP地址的相关TCP/IP配置参数是DHCP服务器“临时发放”给客户端使用的,所以当客户机断开与服务器的连接后,旧的IP地址将被释放以便重用。

参考资料来源:百度百科—DHCP

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上。好比你给好友发送一封电子邮件,发送完成后你可以去做别的事情,收件人也不必立刻响应,可以在自己有空的时候查看邮件,是一个典型的异步发布/订阅场景。而另一种典型的同步请求/回答场景,可以用接打电话的场景来类比。

MQTT的设计遵循以下的原则:

为了满足不同的场景,MQTT支持三种不同级别的服务质量(Quality of Service,QoS)为不同场景提供消息可靠性:

MQTT拥有14种不同的消息类型:

实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

MQTT会构建底层网络传输:它将建立客户端到服务器的连接,提供两者之间的一个有序的、无损的、基于字节流的双向传输。

当应用数据通过MQTT网络发送时,MQTT会把与之相关的服务质量(QoS)和主题名(Topic)相关连。

一个使用MQTT协议的应用程序或者设备,它总是建立到服务器的网络连接。客户端可以:

MQTT服务器以称为"消息代理"(Broker),可以是一个应用程序或一台设备。它是位于消息发布者和订阅者之间,它可以:

订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。

每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。

连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。

一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。

消息订阅者所具体接收的内容。

MQTT协议中定义了一些方法(也被称为动作),来于表示对确定资源所进行 *** 作。这个资源可以代表预先存在的数据或动态生成数据,这取决于服务器的实现。通常来说,资源指服务器上的文件或输出。主要方法有:

1、如果你的网站暂时不能带来利益且成本比较少,建议选择虚拟主机,因为其低廉的价格,是草根站长们的首要选择。

2、如果你的网站对安全性要求不是很高,那么可以选择虚拟主机,因为在安全防护方面,云主机要高于虚拟主机。

3、如果你是技术小白,可以选择虚拟主机,诸如软件配置、防病毒、防攻击等安全措施都由专业服务商提供,租用虚拟主机通常只需要几分钟的时间就可以开通,网站建设的效率非常高,用户无需具备技术能力。

4、如果你对服务器方面的预算比较高,而且也不确定网站发展的速度,那么可以选择云服务器,因为虚拟主机性能限制比较严,像流量限制、空间限制等,当网站发展到一定规模后,虚拟主机性能就会成为网站发展的障碍。而云服务器则不存在这样的问题。好像蒙鸟云的云服务器做的还可以。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10316988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存