hi-nginx既是 web 服务器,也是 application 服务器。它开源在https://github.com/webcpp/hi-nginx
它是NGINX的超集,因此与编译NGINX稍有不同。编译安装hi-nginx需要额外安装一些东西,具体取决于你希望hi-nginx支持哪些编程语言。
hi-nginx支持五种编程语言进行web应用开发,分别是c++,python,lua,php和java。其中,c++是基本的和必选的。
具体来说,可以使用以下命令安装:
centos | |
ubuntu | |
不需要哪种语言,就把哪种语言的相关项目去掉。
php7的编译安装与平时有两点不同。第一,需要开启--enable-embed=shared选项。第二,在configure之前,需要稍微修改下configure文件。打开该文件,搜索ac_cv_have_decl_isfinite
,找到后,把以下部分:
1 ac_fn_c_check_decl "$LINENO" "isfinite" "ac_cv_have_decl_isfinite" "#include <math.h> 2 " 3 if test "x$ac_cv_have_decl_isfinite" = xyes; then : 4 ac_have_decl=1 5 else 6 ac_have_decl=0 7 fi
改成:
ac_fn_c_check_decl "$LINENO" "isfinite" "ac_cv_have_decl_isfinite" "#include <math.h> " if test "x$ac_cv_have_decl_isfinite" = xyes; then : ac_have_decl=0 else ac_have_decl=0 fi
然后./configure && make 即可。
jdk的安装,最简单的就是直接安装openjdk-devel。如果使用oracle jdk,也是一样的,只要版权在10以下一般都可以。关键是要把ldconfig配置好。对于java 9 ,就是
$JAVA_HOME/lib/ $JAVA_HOME/lib/server
对于java 9以下版本,就是
$JAVA_HOME/jre/lib/amd64/server
可以自己创建/etc/ld.so.conf.d/java.conf文件,把以上路径用真实路径填写进去,然后sudo ldconfig即可。
完成以上步骤后,就可以开始编译hi-nginx了。
需要何种语言就在configure时开启哪种语言,默认是全部开启的:
1 --enable-http-hi-cpp=YES \ 2 --enable-http-hi-python=YES \ 3 --enable-http-hi-lua=YES \ 4 --enable-http-hi-java=YES \ 5 --enable-http-hi-php=YES \ 6 --add-module=ngx_http_hi_module \
不需要某种语言(除cpp外),就把某项设置为NO。hi-nginx安装包下有个install_demo.sh文件,可以按自己的需要修改后直接运行使用。然后make && sudo make install 即可。
编译安装后记得systemctl daemon-reload 和systemctl restart nginx。