阅读量:0
NginScript是nginx新增的JavaScript能力,允许在配置文件中嵌入JavaScript代码,增强配置灵活性和动态性。
nginScript简介
项目 | 详情 |
背景 | 2015年9月,nginx宣布支持类JavaScript语言,旨在为开发者提供更自由、灵活的控制全球最优秀的HTTP及反向代理服务器的能力。 |
实现方式 | nginScript不是通过V8引擎实现的,而是通过一个更小、能耗更低、更符合nginx应用场景的小虚拟机(VM)来实现。 |
运行位置 | nginScript是跑在nginx的配置文件里,nginx.conf文件里。 |
插件名称 | nginScript是以nginx插件的方式存在,插件名叫:njs。 |
安装方式 | 需要重新编译nginx来完成安装。 |
状态 | nginScript目前是早期研发状态。 |
如何安装nginScript
步骤 | 详情 |
1 | 下载最新nginx包,地址可见: http://nginx.org/en/download.html wget http://nginx.org/download/nginx-1.9.4.tar.gz。 |
2 | 解压 tar -xzvf nginx-1.9.4.tar.gz。 |
3 | 通过mercurial获取nginScript模块,这里如果没有安装mercurial,需要先运行 yum install mercurial hg clone http://hg.nginx.org/njs。 |
4 | 编译nginx,这里只具体了njs模块,其他需要的模块自己要记得一起装哦,如果你没编译过nginx,有些依赖模块需要yum安装,请自行搜索。 cd nginx-1.9.4 ./configure --add-module=../njs/nginx --prefix=/usr/local make make install ok,这就安装完了,我们可以开始玩啦。 |
如何使用nginScript
指令 | 详情 |
js_set | 设置配置里的变量值。 |
js_run | 直接执行配置规则。 |
nginScript存在的问题
问题 | 详情 |
调试方法弱 | 目前还是比较原始,通过log的方式来展示,且错误日志的详细程度很不如人意。 |
控制力度弱 | 目前nginScript的处理力度还仅限于http request的处理和返回response的层面,还无法做到动态处理nginx请求之外的一些内容,动态用户数据或转发配置表动态更新等。 |
整体实现弱 | 整体结构还是比较简单,js_run和js_set的运行环境是不太一致的,js_set执行ok的代码段在js_run上会出现一些异常。 |
相关问题与解答
1、什么是nginScript?
答:nginScript是nginx刚刚发布的一款自定义的JavaScript实现,可以让你在web服务器内进行动态的配置和发布,它实现了大部分的JavaScript语言的能力,没有完全遵从ECMAScript标准,同时抛弃了JavaScript比较难懂的部分。
2、如何安装和使用nginScript?
答:你需要下载最新的nginx包并解压,然后通过mercurial获取nginScript模块,最后编译nginx并安装,使用nginScript主要是在nginx的配置体系里增加了两个指令:js_set和js_run,分别用于设置配置里的变量值和直接执行配置规则。
以上内容就是解答有关“浅析nginx刚刚发布的JavaScript能力nginScript”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。