当前位置:文档之家› nginx,开源协议

nginx,开源协议

竭诚为您提供优质文档/双击可除

nginx,开源协议

篇一:开源协议

一.每个协议分别找出一个使用该协议的开源软件。

1.gpl,全称gnugeneralpubliclicense。它的主要内容为:只要在一个软件中使用(“使用”指类库引用或者修改后的代码)gpl协议的产品,则该软件产品必须也采用gpl协议,既必须也是开源和免费。这个协议就不太适合商用软件,或者准备使用gpl开源组件的商用项目。基于这个协议的项目,极大的提高了开源软件的数量。

采用这个协议的开源软件有:linux、mysql。

2.lgpl,全称gnulessergeneralpubliclicense次通用公共许可协议。lgpl允许商业软件通过引用类库的方式使用lgpl组件(不直接使用源代码),这样可以不需要开源商业软件的代码。但是如果要修改原始组件的代码,则涉及修改部分的代码和基于原来代码衍生的代码都必须采用lgpl协议。lgpl不适合以lgpl协议为基础的代码进行二次开发的

商业软件,但是商用软件可以采用编译后的类库引用就不需要公开源代码了。

采用这个协议的开源软件有:jboss、Fckeditor、hibernate。3.bsd,全称berkeleysoftwaredistribution。这个协议允许使用者修改和重新发布代码,也允许使用或在bsd代码基础上开发商业软件发布和销售,因此是适用于商业软件的。

使用时还必须做到满足三个条件:

1)如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的bsd协议。

2)如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的bsd协议。3)不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

适用bsd协议的开源软件有:nginx、cruisecontrol、Redis。

4mit,源自麻省理工学院(massachusettsinstituteoftechnology,mit),又称x11

协议。mit与bsd类似,但是比bsd协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。使用mit 的软件项目有:jquery、node.js。

5.apachelicencevesion2.0,这个协议除了为用户提供版权许可之外,还有专利许

可。与bsd协议权限类似,允许代码修改,再发布,适用商业软件

使用apachelicencevesion2.0协议的开源软件有:hadoop、apachehttpserver、springFramework、mongodb。

6.creativecommons知识共享协议

creativecommons(cc)许可协议并不能说是真正的开源协议,它们大多是被使用于设计类的工程上。cc协议种类繁多,每一种都授权特定的权利。一个cc许可协议具有四个基本部分,这几个部分可以单独起作用,也可以组合起来。下面是这几部分的简介:

署名

作品上必须附有作品的归属。如此之后,作品可以被修改,分发,复制和其它用途。

相同方式共享

作品可以被修改、分发或其它操作,但所有的衍生品都要置于cc许可协议下。

非商业用途

作品可以被修改、分发等等,但不能用于商业目的。但语言上对什么是商业的说明十分含糊不清(没有提供精确的定义),所以你可以在你的工程里对其进行说明。例如,有

些人简单的解释非商业为不能出售这个作品。而另外一些人认为你甚至不能在有广告的网站上使用它们。还有些人认为商业仅仅指你用它获取利益。

禁止衍生作品

这意味着你可以复制和分发它们,但你不能以任何方式修改它们,或基于它们进行二次创作使用该协议的开源软件有mission

二.如果自行开发一个软件,允许别人在你的基础上继续衍生,但不能被商用,我会选择gpl协议。

如果能被商用,我会选择用mit协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。

篇二:使用高性能web服务器nginx实现开源负载均衡internet的快速增长使多媒体网络服务器,特别是web 服务器,面对的访问者数量快速增加,网络服务器需要具备提供大量并发访问服务的能力。对于提供大负载web服务的服务器来讲,cpu、i/o处理能力很快会成为瓶颈。简单的提高硬件性能并不能真正解决这个问题,因为单台服务器的性能总是有限的,尤其是网络请求具有突发性,当某些重大事件发生时,网络访问就会急剧上升,从而造成网络瓶颈,必须采用多台服务器提供网络服务,并将网络请求分配给这些服务器分担,才能提供处理大量并发服务的能力,因此服务

器的负载均衡技术就成为建立一个高负载web站点的关键性技术。

(一)nginx及负载均衡介绍

1.高性能web服务器ngnix

nginx(“enginex”)是俄罗斯人igorsysoev(塞索耶夫)编写的一款高性能的http和反向代理服务器,也是一个imap/pop3/smtp代理服务器。nginx已经在俄罗斯最大的门户网站──Ramblermedia(*;

location/

{

proxy_passhttp://servername;

proxy_set_headerhost$host;

proxy_set_headerx-Forwarded-For$remote_addr;

}

access_logoff;

}

其中:proxy_passhttp://servername用于指定反向代理的服务器池;proxy_set_headerhost$host当后端web服务器上也配置有多个虚拟主机时,需要用该header来区分反向代理哪个主机名;proxy_set_header

x-Forwarded-For$remote_addr;如果后端web服务器上的程序需要获取用户ip,就从该header头获取。

相关主题