背景
2015年9月,nginx宣布支持類JavaScript語(yǔ)言。這意味著開(kāi)發(fā)者可以更輕松、自由的控制全球最優(yōu)秀的HTTP及反向代理服務(wù)器,并在此之上可以衍生出更多有用、好玩的創(chuàng)意。Nginx也更開(kāi)發(fā)的走向了動(dòng)態(tài)配置化的下一個(gè)階段。大家可以點(diǎn)擊查看 官方介紹鏈接 。
先簡(jiǎn)單說(shuō)說(shuō)nginx
Nginx [engine x]是全球最受歡迎,也是最優(yōu)秀的web服務(wù)器、反向代理服務(wù)器。通過(guò)第三方公司的統(tǒng)計(jì),目前全球至少有23%的服務(wù)器采用了nginx,當(dāng)然這個(gè)數(shù)字還在不斷的擴(kuò)大。目前也是國(guó)內(nèi)BAT首選,所以這也是為什么我們第一時(shí)間關(guān)注到它的原因。
Nginx主要可以做以下幾點(diǎn):
1、工作在TCP第七層,可以對(duì)HTTP協(xié)議的所有內(nèi)容進(jìn)行分析和處理。
2、支持lua,perl,JavaScript動(dòng)態(tài)語(yǔ)言
3、支持第三方插件
再說(shuō)說(shuō)nginScript
1、 nginScript是JavaScript/ECMAscript的子集 。它實(shí)現(xiàn)了大部分的JavaScript語(yǔ)言的能力,沒(méi)有完全遵從ECMAScript標(biāo)準(zhǔn),同時(shí)拋棄了JavaScript比較難懂的部分。
2、 nginScript不是通過(guò)V8引擎實(shí)現(xiàn)的 。而是通過(guò)一個(gè)更小、能耗更低、更符合nginx應(yīng)用場(chǎng)景的小虛擬機(jī)(VM)來(lái)實(shí)現(xiàn)。可以理解為nginx為其實(shí)現(xiàn)了一套自己的詞法解析。
3、 nginScript是跑在nginx的配置文件里 。 比如:nginx.conf文件里。所以nginScript可以完成傳統(tǒng)配置文件所能處理的所有事情,同時(shí)可以讓配置管理動(dòng)態(tài)化。這也是nginScript出現(xiàn)的最重要的原因。
4、 nginScript 是以nginx插件的方式存在。 插件名叫: njs 。和其他nginx插件一樣,我們需要重新編譯nginx來(lái)完成安裝。
5、 nginScript目前是早期研發(fā)狀態(tài) 。大家可以通過(guò)郵件 nginx-devel@nginx.org 等方式和nginx團(tuán)隊(duì)進(jìn)行溝通和提出你的訴求。
如何安裝nginScript
這里直接按照官方給出的步驟來(lái)就好:
// 1、下載最新nginx包,地址可見(jiàn): 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、通過(guò)mercurial獲取nginScript模塊,這里如果沒(méi)有安裝mercurial,需要先運(yùn)行 yum install mercurial hg clone http://hg.nginx.org/njs
//4、編譯nginx,這里只具體了njs模塊,其他需要的模塊自己要記得一起裝哦。如果你沒(méi)編譯過(guò)nginx,有些依賴模塊需要yum安裝,請(qǐng)自行搜索。 cd nginx-1.9.4 ./configure --add-module=../njs/nginx --prefix=/usr/local make make install ok,這就安裝完了,我們可以開(kāi)始玩啦。
具體如何使用nginScript
nginScript的使用主要是在nginx的配置體系里增加了2個(gè)指令。具體指令分別為:
js_set ,設(shè)置配置里的變量值
js_run ,直接執(zhí)行配置規(guī)則
1、先看看 js_set 在nginx.conf里怎么運(yùn)行的。
http { js_set $msg" var str = 'hello,imweb'; // JavaScript str; "; server { ... location /{ return 200 $msg; } }}
新聞熱點(diǎn)
疑難解答
圖片精選