百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

多语言Web通用应用服务器NGINX Unit

off999 2025-01-31 14:44 37 浏览 0 评论

很多人都用过强大的LNMP栈体系跑应用,更多人则用Nginx做一个代理,作为一个Web应用的安全、可以抵抗大流量应用网关和集群入口。LNMP栈可以支持动态应用(PHP和Mysql),Nginx本身也可以用lua写一些动态应用。但是现在应用脚本越来越多样化,应用微服务化,不光是PHP、Python,Java、Ruby,Perl等各种应用可能都会有,虽然有Docker这样的工具,但是配置也比较繁琐,而且对于灵活变化配置Nginx需要每次reload加载不是一个很好的处理方式。为了解决这种问题Nginx团队推出了一个神器——NGINX Unit。今天虫虫就给大家推荐这个工具。

概述

NGINX Unit是一个轻量级、多功能的开源服务器,两个主要功能:

提供静态内容Web服务,

支持七种语言(Node.js,Java,Perl,PHP,Python,Python3,Ruby,WebAssembly)行应用程序代码。

Unit将现代应用程序堆栈的多个层压缩为一个强大的、注重性能、低延迟和可扩展性的一致解决方案。旨在提供一个人Web应用的快捷、通用构建方式。

为了灵活配置和程序化状态控制,Unit还提供原生RESTful JSON API支持动态、零中断更新和灵活配置。

Unit提供开箱即用的能力,可以可靠地扩展到生产级工作负载。通过复杂的异步多线程架构来实现这一点包括多个流程,以确保安全性和稳健性,可以支持当今最先进的云平台。

快速上手

MacOS

brew install nginx/unit/unit

然后安装其他对应的语言包模块。

Docker

docker pull unit

可以自定义镜像的语言和版本,方法如下

make build-<language name><language version> VERSION_<language name>=<language version>

linux安装

unix官方支持最广泛的各个发行版的二进制安装包,可使用对应的包管理器中添加官方包地址即可。

比如对于RedHa系的Amazon Linux、Fedora、RedHat

注意,安装后默认控制API调用socket接口为/var/run/unit/control.sock

日志文件为/var/run/unit/unit.log

应用启动用户和组为unit

Debian系

源码安装

用git下载源码,安装各种依赖项目然后安装(较复杂,不建议自己做)。

Hello Chongchong

Unit可以支持多中应用程序。我们简单以一个PHP Hello例子为例进行予以展示,其他语言和脚本基本同理。我们将脚本文件保存在

保存在/www/helloworld/index.php,内容为:

<?php echo "Hello, Chongchong!"; ?>

为了在Unit上运行该脚本,在安装好unit-php语言模块后,先设置一个应用程序对象。该应用配置config.json:

{
"applications":{
"type": "php",
"root": "/www/helloworld/"
}
}

Unit可以用Web请求动态配置和让配置生效,可以通过一个PUT请求调用/config/applications API,为了安全起见,默认只允许在本地以Unix域套接字方式调用:

# curl -X PUT --data-binary @config.json --unix-socket \
/var/run/control.unit.sock localhost/config/applications
{
"success": "Reconfiguration done."
}

接下来,然后用命令行访问给应用的状态:

# curl -X PUT -d '{"127.0.0.1:8000": {"pass": "applications/helloworld"}}' \
--unix-socket /path/to/control.unit.sock http://localhost/config/listeners
{
"success": "Reconfiguration done."
}

这样Unit中该应用就配置好,可以进行访问

curl 127.0.0.1:8080
Hello, Chongchong!

再调用API可以获得,该次访问的信息:

# curl --unix-socket /path/to/control.unit.sock http://localhost/config/

单元的输出应包含组织整齐的两个片段:

{
"listeners": {
"127.0.0.1:8080": {
"pass": "applications/helloworld"
}
},
"applications": {
"helloworld": {
"type": "php",
"root": "/www/helloworld/"
}
}
}

总结

NGINX Unit是一个轻量级、多功能的开源服务器,可以提供一个优雅的,可以随掉随用、动态配置、动态发布和更新的多语言支持的应用服务器,在于微服务和多语言Web应用共存的今天,NGINX Unit无疑是一个很好的解决方案,当然更多功能探索,大家如果需要可以回复探讨,后续可以提供。

相关推荐

浏览器打开下载(复制链接粘贴到浏览器打开下载)

怎么复制到浏览器里打开,并下载?选定这个链接——复制,然后打开迅雷或其他下载软件,新建——粘贴就行了  打开方法如下:  1、首先启动360极速浏览器,点击工具栏下载按钮;  2、即可打开下载小窗口,...

comparison(compare)

compare释义:v.比较,对比;与……类似,将……比作;相比,匹敌;构成(形容词或副词)的比较级和最高级n.比较例句:Comparedwiththepreviousdata,the...

打金赚钱的手游排行榜(打金赚钱的手游排行榜有哪些)

征战龙庭手游可以赚取一定的人民币,但具体收益取决于玩家的游戏水平和投入时间。在游戏中,玩家可以通过完成任务、打怪升级、参加活动等方式获取游戏内货币,用于购买装备和提升实力。同时,玩家也可以通过游戏内商...

云游戏下载(云玩游戏app)

下载云游戏步骤:1、打开一个免费手机游戏下载的网站,从这里进去以后找到自己的手机型号;2、你会看到很多游戏的分类,想玩什么类别的就下什么类别的;3、找到你那个游戏点下载,然后把游戏保存在桌面4、还有...

手机壁纸高级感(苹果手机壁纸高级感)

苹果手机壁纸高级感全屏设置方法如下:1、首先在手机上下载好一张高清图片,然后打开手机设置。2、进入设置页面后,点击点击墙纸佰。3、然后点击选取新墙纸。4、进入页面后,选择所有照片进入。5、接着找到并点...

直播中国女排今晚比赛(直播中国女排今晚比赛cctv5直播中国女排对土耳其女排)

中国女排在10月2日比赛的直播频道会因地区而异。在国内,观众可以通过央视体育频道或各大体育直播平台观看比赛直播。而在海外,观众可以通过国际体育频道或各大体育直播平台观看比赛直播。对于想要观看比赛的粉丝...

qq官方版下载安装(手机版qq免费下载)

这个要在软件商店去安装才可以,因为你设置过在其他城市安装不允许,所有软件必须在应用商店里面安装。程序走对了,没有安装不了的。你的QQ应该是升级成了体验版,体验版QQ需要相应的体验账号,但你的账号不是体...

迅雷云盘app(迅雷云盘官网)

迅雷云盘非常好用,因为迅雷云盘支持HDR原画播放,多分辨率切换流畅丝滑不卡顿,就连极速云播也很顺滑。并且,开通迅雷TV版会员后还能享受会员专属特权,4K原画画质、倍速播放等尽在手中。迅雷云盘空间是一种...

迅雷电影网(迅雷电影天堂)

电影天堂 电影天堂是国内较大的电影下载平台,已有超过100万部影视资源,千万小时时长。电影天堂资源丰富,门类齐全,涵盖电影、电视、综艺、动漫等,几乎所有电影资源都有DVD格式收录。该网站还...

中文 繁体字(数字中文繁体字)

中文-繁体中文拼音[zhōngwén]释义中国的语言文字,特指汉族的语言文字。详细释义中文[zhōngwén]中国语言文字或中国语言文学的省称。特指汉语言文字或汉语言文学。王力《...

万能数据恢复大师手机版(万能数据恢复大师免费版)

个人觉得迷你兔数据恢复软件比较靠谱,恢复能力强。而且有很多人用,我也是朋友推荐的,用过之后,真觉得不错。它有个免费的版本,你可以先试用看看。您好,万能数据恢复大师现在已经更名:失易得数据恢复软件,...

免费最全的小说app有哪些(免费的小说app有哪些好用)

  书旗免费小说是一款以书旗网海量小说为基础的在线阅读器,书旗小说免费阅读集合在线阅读、自动书签、智能搜索、阅读设置等多项人性化功能。(支持WIFI)在书旗小说免费阅读这里你能找到任何类型的热门网络...

chrome安卓版下载(chrome安卓版下载极速)

如果您在手机上使用Chrome浏览器时下载速度较慢,以下是一些可能的解决方法:1.检查并改善网络连接:首先,确保您的手机处于良好的网络连接状态。尝试连接到其他Wi-Fi网络或使用移动数据连接,查看下...

一键制作u盘启动盘(一键制作u盘启动盘,电脑安装系统不求人!)

U盘启动盘的制作过程如下,首先你用U盘制作工具,像大白菜或U盘启动大师将U盘制成启动盘,制作过程中会提示你对U盘进行格式化确认后,可以生成U盘的引导盘和一些制作工具,仅BIOS设置成U盘启动后,在PE...

火影忍者下载(火影忍者下载要多久)

安卓的手机可以去自带的手机商城下载或去浏览器里搜索下载,可以去浏览器里搜索官方,然后从官方的里边下载。或者像别的一些软件,比如应用宝啊,4399小游戏之类的都可以下载,如果是苹果手机的话,那就自求多福...

取消回复欢迎 发表评论: