除了使用lua这个高效脚本语言丰富nginx外,最近尝试使用一个新模块 ---->>
nginx-clojure https://github.com/nginx-clojure/nginx-clojure/
说到nginx-clojure模块,它能够获取和修改请求数据、响应数据、header信息等(基本上java servlet中能够获取和修改的数据,他也都能获取和修改),所以基于他,我们能够完成很多servlet能够完成的数据,甚至他能够连接mysql,redis等。
当然,nginx-clojure是用我熟悉的语言写插件:Java;
问题是 在配置安装nginx module时:
sudo ./configure,show ERROR:"javac not found, please put it in your PATH" by check jdk
我是各种尝试,/etc/profile以及用户根目录下都配置了,echo $PATH 也显示出的没问题,甚至我直接运行nginx-clojure-0.4.4/src/c/config 文件也是没问题的检测到了jdk;此时,我想到的就应该是权限问题,但是sudo 操作权限应该都能达到的才对,后来直接切换root用户,configure通过了。
但是,终究觉得这不是最好的解决办法,然后就github上求问了一下贡献者xfeep (https://github.com/nginx-clojure/nginx-clojure/issues/128#issuecomment-230770242),他给我举了个栗子,
$ echo "echo \$PATH" > p.sh $ sh p.sh /home/who/bin:/opt/texbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin $ sudo sh p.sh /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
这个就是区别于直接输入命令的运行结果。然后我就直接运行如下即可:
### configure arguments are omitted here ./configure make sudo make install
然后,配置location时候若提示找不到 jre/jdk ,则直接在nginx.conf 中指定 jvm_path="your jdk path" ,而不要使用 auto 即可解决。
转载原文
链接: http://zl378837964.iteye.com/blog/2309916