BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

基于JavaScript的配置语言——nginScript

| 作者 David Iffland 关注 4 他的粉丝 ,译者 夏雪 关注 0 他的粉丝 发布于 2015年9月26日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Nginx公布了nginScript,这是一款自定义的JavaScript实现,它可以让你在web服务器内进行动态的配置和发布。在今年的nginx.conf上,nginx创建了 Igor Sysoev 来演示这项新特性。

Nginx已经支持Lua基于脚本的配置,但nginScript对于具有JavaScript背景的人来说门槛更低。它通过一个根据nginx的需求自定义的虚拟机来负责语言的执行,而不依赖于已有的虚拟机,

在使用时,nginScript允许将JavaScript片段的结果用于配置。在一份紧随声明发表的博客中,Sysoev列出了几种可能性,例如:

http {
    js_set $hello_world "
            var str = 'Hello World!';
            // JavaScript
            str;
    ";

    server {
        ...
        location /{
            return 200 $hello_world;
        }
    }
}

在本例中,这段代码的结果是保存一个变量$hello_world,它用来响应特定路由的web请求。虽然可以使用nginScript为一个完整的基于JavaScript的web应用服务,但那不是目的。这个新语言是JavaScript的子集,所以针对node.js之类的环境做出来现有模块恐怕是无法工作的。nginScript文档特别指出:

我们不打算替代node.js或者其他应用平台。nginScript的目标非常坚定,就是扩展NGINX配置,让你对HTTP流量有更高的控制权。

Hacker News上有各种不同的反映。用户eknkc持鼓励态度:

我认为它是一个很好的补充。我在高业务量的服务器使用了Varnish,一个原因就是它有“可视化组件库”,这是一种类JavaScript的语言,可以用它来定义请求处理逻辑。nginx将为熟悉它的人提供许多配置选项。

但也有其他人保持谨慎乐观。用户CrLf

它的用处不能让nginx成为应用服务器。其目的是使nginx配置动态化和使用填充物防止应用膨胀,这属于(就先这么叫吧)开发层的事。

Nginx表示他们不打算让nginScript替代Lua,但JavaScript在社区中已经是无处不在了,如果看到它在使用上赶超了Lua也并不会令人感到惊讶。目前,nginScript正在测试中,希望可以收到你们在mecurial资源中的反馈。

查看英文原文:Nginx Announces nginScript, a JavaScript-based Configuration Language

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

nginx有成为应用服务器的潜力 by 曹 云飞

看nginx对ngixScript的支持力度了

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT