njs 5分钟快速入门
Contents
njs 5分钟快速入门
njs是作为nginx的module,可以通过2种方式安装:
- add-module 编译源码
- add-dynamic-module
本文采用add-module编译源码的方式。add-dynamic-module的方法自行百度。
下载 njs-0.4.1
官网提供的源码下载,需要通过hg来获取。hg是 Mercurial 分布式版本控制软件的客户端,国内使用较少,可以通过官网下载 Mercurial 客户端,通过如下命令下载njs源码:
hg clone http://hg.nginx.org/njs
njs源码仓库参考:http://hg.nginx.org/njs?_ga=2.60091629.1926145332.1591076203-902755521.1590558489
也可以使用git到github上下载njs的代码镜像或者release压缩包。最新的镜像直接下载master分支代码即可:
git clone https://github.com/nginx/njs.git
也可以直接下载最新的release压缩包:https://github.com/nginx/njs/releases
wget https://github.com/nginx/njs/archive/0.4.1.tar.gz
or
njs在github上的镜像:https://github.com/nginx/njs/
编译:
./configure –add-module=/Users/tail/njs/njs-0.4.1/nginx
如果要自定义安装目录,添加–prefix=/Users/tail/njs/njs
./configure –add-module=/Users/tail/njs/njs-0.4.1/nginx –prefix=/Users/tail/njs/njs
注意:
- add njs module的路径是njs根路径下的nginx目录,不是njs的跟目录,否则会出现
./configure: error: no /Users/tail/njs/njs-0.4.1/config was found
的错误提示。 - 编译前检查下面这些组件是否安装,不同系统安装方法不一样,请自行百度。
- PCRE
- OpenSSL
- crypto
- Zlib
安装
make install
运行启动
cd path/to/njs/sbin #cd /Users/tail/njs/njs
./nginx
验证启动
命令行查看
curl 127.0.0.1
终端看到如下内容:
|
|
或者浏览器中输入http://127.0.0.1/
,看到Welcome to nginx!
表示ok。
初试牛刀:基本的HTTP例子
例子参考官网的hello world:http://nginx.org/en/docs/njs/index.html
编写njs脚步
先编写一个hello_world.js脚步文件,其中定义hello函数,如下:
|
|
配置nginx.conf
在http module中增加:js_include hello_world.js;
引入njs脚步文件。
js_include 指令是指定njs脚步文件内的njs代码来处理请求。
语法格式:js_include
*file*
;
在server > location module中增加 js_content hello;
执行njs。
js_content指令用来执行js内容并输出,指令后面为一个njs函数。
语法格式:js_content
*function*
|*module.function*
;
|
|
重载配置:
cd path/to/njs/sbin
./nginx -s reload
执行看效果:
命令行执行
curl 127.0.0.1
Hah,Hello world!
控制台输出:Hah,Hello world!
。
Author 铁汤
LastMod 2020-06-02