nginx是什么语言写的

发布时间 - 2019-06-21 00:00:00    点击率:

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 可以在大多数 UnixLinux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.4.0稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。

Nginx 的源代码使用 2-clause BSD-like license。

Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性:

在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为我们选择了 epoll and kqueue作为开发模型。

服务器

Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。

无缓存的反向代理加速,简单的负载均衡和容错。

FastCGI,简单的负载均衡和容错。

模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。

支持 SSL 和 TLSSNI。

代码

Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

代理服务器

作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

更多Nginx相关技术文章,请访问Nginx教程栏目进行学习!


# nginx  # 是一个  # 代理服务  # 代理服务器  # 负载均衡  # 俄文  # 高性能  # 配置文件  # 源代码  # 自己的  # 稳定版 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel如何实现用户注册和登录?(Auth脚手架指南)  如何快速生成凡客建站的专业级图册?  如何在万网主机上快速搭建网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  JS去除重复并统计数量的实现方法  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel如何使用Blade模板引擎?(完整语法和示例)  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel中的Facade(门面)到底是什么原理  制作电商网页,电商供应链怎么做?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  如何快速搭建自助建站会员专属系统?  MySQL查询结果复制到新表的方法(更新、插入)  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何使用Livewire构建动态组件?(入门代码)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何快速查询网站的真实建站时间?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  如何在Windows服务器上快速搭建网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  Laravel怎么在Controller之外的地方验证数据  如何做网站制作流程,*游戏网站怎么搭建?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  如何在IIS7上新建站点并设置安全权限?  微信小程序 input输入框控件详解及实例(多种示例)  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Swift中循环语句中的转移语句 break 和 continue  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  JavaScript如何实现类型判断_typeof和instanceof有什么区别  再谈Python中的字符串与字符编码(推荐)  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  如何快速上传建站程序避免常见错误?  浅谈javascript alert和confirm的美化  电商网站制作价格怎么算,网上拍卖流程以及规则?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?