【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

  • 2018-05-08
  • 本文字数:1380 字

    阅读完需:约 5 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

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 Unit 使用 Apache License 2.0 许可开源,针对大多数操作系统提供了预构建的软件包,包括 Debian CentOS Ubuntu 等。在 Docker Hub 上也提供了 Unit 的 Docker 容器

查看英文原文: NGINX Releases Open Source Web Server with Dynamic Configuration

2018-05-08 19:0010439
用户头像

发布了 391 篇内容, 共 126.8 次阅读, 收获喜欢 255 次。

关注

评论

发布
暂无评论
发现更多内容

AI驱动管理升级,WeLink携手华为云差旅共探数智转型新路径

轶天下事

文心一言 VS 讯飞星火 VS chatgpt (128)-- 算法导论11.1 3题

福大大架构师每日一题

福大大架构师每日一题

亚马逊云 Lightsail尝鲜

孤虹

亚马逊云

Util 应用框架开发环境搭建(七)- 安装 Util代码生成器

何镇汐

后端 软件开发 .net core 开源框架

Linux Vim撤销和恢复撤销快捷键

二哈侠

pycharm pro 2023 for mac(Python编辑开发)中文激活版

iMac小白

pycharm破解 PyCharm中文版 PyCharm下载 PyCharm Pro密钥

开发工具:Xcode for Mac正式版下载

iMac小白

Xcode14 Xcode for Mac Xcode Mac版

Acrobat Pro DC for Mac(最强PDF编辑器) 22.002.20191中文激活版

mac

苹果mac Windows软件 Acrobat Pro DC 2022 pdf制作软件

云上办赛好帮手,华为云WeLink助力2023年甘肃省大学生GIS应用技能大赛成功举办

轶天下事

华为云HR产品:助力先进制造企业实现人力资源数字化转型

YG科技

“双十一”直播纵享丝滑,华为云CDN加速服务极致体验

YG科技

第二届OpenHarmony技术大会展区亮点纷呈,多元视角感受智联未来

科技热闻

mac电脑好用的文件夹图标修改器 Folder Factory 中文免激活

胖墩儿不胖y

Mac软件 文件夹图标修改工具 文件夹管理工具

Util 应用框架开发环境搭建(四)- 安装 数据库

何镇汐

后端 软件开发 .net core 开源框架

“双11”华为云CDN大文件下载加速,更快更稳更优质

YG科技

已完结!给小白的《50讲Python自动化办公》

程序员晚枫

Python GitHub Office 自动化办公

Tableau Desktop 2019 for Mac(全能数据分析工具) v2019.1.0完美激活版

mac

数据分析工具 Tableau Desktop 2019 苹果mac Windows软件

加速智慧校园建设,福建农林大学联合华为云WeLink打造“数字FAFU”APP

轶天下事

喜讯!极限科技成功签约中国一汽搜索数据库三年许可订阅合同!

极限实验室

easysearch 极限科技 中国一汽

理解JavaScript模运算符

南城FE

JavaScript 前端

Util 应用框架开发环境搭建(六)- 安装 NodeJs

何镇汐

后端 软件开发 .net core 开源框架

免费算力优化猫狗识别

打工人!

深度学习

VMware Fusion Pro 13 for Mac(VM虚拟机)中文激活版

iMac小白

VM虚拟机 VMware Fusion Pro 13 VMware Fusion Pro

开启数字校园新篇章 福建农林大学智慧校园 “数字FAFU”APP发布会成功举行

轶天下事

【腾讯云 HAI域探秘】StableDiffusionWebUI一小时搞定100张设计图

不叫猫先生

腾讯云 Stable Diffustion

华为云联合i人事推出一体化智能人力资源解决方案

YG科技

从零开始搭建个人网站博客

价投小邱

个人博客 个人网站

北漂五年程序员|腰突颈椎病康复指南

九旬

程序员 前端 后端 健康 北京

AI2024更新,最新Illustrator 2024 for Mac 中文激活版资源

影影绰绰一往直前

Illustrator 2024 ai2024下载 AI2024破解版

IT运营与DevOps:有何不同?

SEAL安全

DevOps 企业号11月PK榜 IT运营

Util 应用框架开发环境搭建(五)- 安装 Git客户端

何镇汐

后端 软件开发 .net core 开源框架

NGINX发布支持动态配置的开源Web服务器_REST_Matt Campbell_InfoQ精选文章