NGINX最近发布了NGINX Unit 1.0版。NGINX Unit是一种开源的Web和应用服务,它支持远程配置和动态配置,使得配置上的更改不会对服务造成中断。Unit 1.0还支持在同一实例中运行Go、Perl、PHP、Python和Ruby等多种语言,也支持同一语言的多个版本。

NGINX Unit并非依赖于静态的配置文件,而是使用JSON通过REST API进行配置。所有的配置直接存储在内存中,支持运行中的服务无需重启即可应用配置更改。路由过程同样也是持续的,不需要重启。

Unit的基本配置需要指定至少一个监听器和一个应用。在对监听器的定义中,指定了Unit监听的具体IP和端口,并重定向到一个命名的应用。在对应用的定义中,可支持指定具体的语言、应用文件的目录和过程的数量。

例如,用户可以做如下的配置,在端口8300上定义一个监听器,为“/www/blogs/scripts”目录中的PHP应用提供服务,最大可使用20个进程:

{

"listeners": {

"*:8300": {

"application": "blogs"

}

},

"applications": {

"blogs": {

"type": "php",

"processes": 20,

"root": "/www/blogs/scripts",

"index": "index.php"

}

}

}

Unit官方文档中的推荐做法,是将上述配置存储在一个(受版本控制的)文件中,然后POST到服务器端。如果上述配置是存储在一个名为start.json的文件中,那么可以使用如下命令创建初始配置:

# curl -X PUT -d @/path/to/start.json --unix-socket /path/to/control.unit.sock http://localhost/

Unit实现了路由进程和具体运行应用代码的应用进程相分离。每个应用过程池在自身的沙箱中运行,这确保了该进程与其它进程的分离。这种分离支持运行不同语言的多个应用分享同一个服务器。

图 NGINX Unix的架构(NGINX官方提供)

下面的配置例子,设置在同一个Unit服务器中运行Go和Perl应用:

{

"listeners": {

"*:8500": {

"application": "go_chat_app"

},

"127.0.0.1:8600": {

"application": "bugtracker"

}

},

"applications": {

"go_chat_app": {

"type": "go",

"user": "www-chat",

"group": "www-chat",

"working_directory": "/www/chat",

"executable": "bin/chat_app"

},

"bugtracker": {

"type": "perl",

"processes": 3,

"user": "www",

"group": "www",

"working_directory": "/www/bugtracker",

"script": "app.psgi"

} }

}

据NGINX产品负责人Owen Garrett介绍,Unit适用于独立架构,也适用于基于微服务的架构。它支持对进程做按需扩展,并在每个进程自身的沙箱中执行该进程。

NGINX规划在未来的版本中添加对Java和Node.js语言的支持。企业还规划支持SSL和HTTP/2,以及使用URI和主机名提供对静态内容和路由的服务。

下面关于Nginx的文章您也可能喜欢,不妨参考下:

Nginx 的详细介绍:请点这里

Nginx 的下载地址:请点这里

Linux部署动态网页,Nginx发布支持动态配置的开源Web服务器相关推荐

  1. NGINX发布支持动态配置的开源Web服务器

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ NGINX最近发布了NGINX Unit 1.0版.NGINX Unit是一种开源的Web和 ...

  2. 论文 计算机动态网页的制作,计算机动态网页设计中多元素应用网页设计论文(范文1)...

    <计算机动态网页设计中多元素应用[网页设计论文].doc>由会员分享,可免费在线阅读全文,更多与<计算机动态网页设计中多元素应用[网页设计论文]>相关文档资源请在帮帮文库(ww ...

  3. Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本

    2019独角兽企业重金招聘Python工程师标准>>> 新版发布 近日,轻量级开源 Web 服务器 Tengine 发布了2.3.0版本,新增如下特性: ngx_http_proxy ...

  4. 支持JSP和Servlet的Web服务器

    支持JSP和Servlet的Web服务器 1.Tomcat 服务器 目前非常流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型.轻量级的支持JSP和Servle ...

  5. linux web故障,网络故障处理与优化 linux服务器配置及故障排除 项目9 配置与管理web服务器.docx...

    配置与管理WEB服务器 准备工作: 先切换到root账号: 执行以下两条命令,临时关闭防火墙和selinux: systemctl stop firewalld.service setenforce ...

  6. nginx依靠超时时间实现上游负载web服务器重启时不影响访问

    nginx依靠超时时间实现上游负载web服务器重启时不影响访问 本文未配置主从机集群,主从多台集群. nginx.conf(或者外联配置文件)中,位于http{}之内,样例如下: - upstream ...

  7. 虚拟机web服务器配置ppt,在Linux虚拟机下配置apache构建web服务器.doc

    在Linux虚拟机下配置apache构建web服务器.doc 上传人:清**** 文档编号:55209606 上传时间:2020-03-08 格式:DOC 页数:2 大小:32.50KB 下载提示(请 ...

  8. nginx 稳定版 1.16.0 发布 支持动态加载SSL证书

    Nginx(发音同 engine x)是一款轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行,可以在 UNIX.GNU/Lin ...

  9. activiti动态增加节点_支持动态系统用户,JumpServer 堡垒机 V1.5.7 发布

    3月23日,JumpServer堡垒机发布V1.5.7版本.该版本新增动态系统用户和录像离线播放等功能,并完成了若干功能优化和 Bug修复.在JumpServer V1.5.7版本中,新增的动态系统用 ...

最新文章

  1. 当 AI 开始“入侵”人类
  2. [再寄小读者之数学篇](2014-11-19 $\sin(x+y)=\sin x\cos y+\cos x\sin y$)
  3. PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
  4. 三次样条插值 实验_【科普】理解数字图像插值(二)
  5. Nhibernate 对view 查询的几种方法
  6. C#~异步编程再续~你必须要知道的ThreadPool里的throw
  7. 两步路轨迹文件位置_关于两步路
  8. 配置谷歌android依赖镜像
  9. 漫画 | 放弃吧,技术分享根本搞不起来!
  10. 小白入门级的视频剪辑软件
  11. 高级计算机怎么计算增速,增速的计算公式
  12. BTA16可控硅固态继电器电路开发的有关问题
  13. 编程语言c 难学吗,为什么有人说C ++是最难学的编程语言
  14. 干货!我开发 Android 是如何界面设计的
  15. 微信分账:分账接收方列表格式错误
  16. java单继承和多继承
  17. 【ClearCase 学习笔记 】之(4/4)CC基本操作介绍
  18. 关于实现StarGen的思考记录
  19. python opencv写视频——cv2.VideoWriter()
  20. 以太网(802.3)帧结构 (转)

热门文章

  1. Linux 下 Redis 6 的安装使用(Ubuntu 18.04)
  2. s l m 尺码排序 php,m l xl xxl是什么意思?服装尺码s m l xl xxl含义
  3. 5.1.1 什么是I/O设备?有几类I/O设备?
  4. 2.1.2 操作系统之进程的状态(运行、就绪、阻塞、创建、终止)及转换(就绪-运行、运行-就绪、运行-阻塞、阻塞-就绪)
  5. 语言解析ssl包_HPSocket v5.0.1:支持 IPv6 及多 SSL 证书
  6. 华大 MCU 之五 SPI 从机 DMA 模式 配置(不能正常接收问题处理)
  7. Java实现线程同步的方式
  8. leaflet大量marker卡顿_leaflet如何加载10万数据
  9. vim 插件_你不得不知道的适用于程序员的VIM插件
  10. 飞桨 AI Studio 课程学习 可以成为一名优秀的算法工程师