1. 下载安装
- 安装 mercurial 版本管理工具
sudo apt install mercurial
- 下载代码
hg clone http://hg.nginx.org/njs
- 编译
cd njs
./configure
make
- 最后在build下面可以看到生成的静态库和njs执行文件
- 测试
在build文件下创建一个shell文件,然后输入"console.log(“hello njs”)"
- 运行njs
如果你的编译的时候环境有libreadline这个库,可以启动njs直接交互
2. 加入nginx编译
要在nginx里使用njs和编译其他模块一样,只要使用 --add-module 加入编译就行
这个是我的编译脚本大家可以参考参考
执行完成后可以看到提示
后面直接make&&sudo make install 就行
3. 使用njs
安装玩nginx后,在/usr/local/nginx/conf目录创建一个http.js的文件
function baz(r) {
r.status = 200;
r.headersOut.foo = 1234;
r.headersOut['Content-Type'] = "text/plain; charset=utf-8";
r.headersOut['Content-Length'] = 15;
r.sendHeader();
r.send("nginx");
r.send("java");
r.send("script");
r.finish();
}
function hello(r) {
var ret_str = "Hello world!"
r.headersOut['Content-Type'] = "text/plain; charset=utf-8";
r.headersOut['Content-Length'] = ret_str.length;
r.return(200, ret_str);
}
export default {baz,hello};
然后打开nginx.conf 写入
最后启动nginx测试
可以看到测试结果
njs更多的使用方法可以看看官方的案例
njs官方案例