当前位置: 首页 > news >正文

hi-nginx-1.3.4编译安装

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++是基本的和必选的。

  1. c++语言,需要安装支持c++11的g++或者clang++,以及hiredis-devel。这个部分是必要的。
  2. python语言,需要安装boost-devel和python-devel
  3. lua语言,需要安装lua-devel5.1-5.3
  4. php语言,需要安装php7
  5. java语言,需要安装jdk10以下版本,openjdk也是可以的

具体来说,可以使用以下命令安装:

centos
sudo yum install gcc gcc-c++ make pcre-devel zlib-devel openssl-devel hiredis-devel python-devel boost-devel lua-devel
ubuntu
sudo apt-get install build-essential libpcre3-dev zlib1g-dev libssl-dev libhiredis-dev python-dev libboost-all-dev  liblua5.3-dev 

不需要哪种语言,就把哪种语言的相关项目去掉。

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。

 

相关文章:

  • Swing JComboBox的使用
  • 支付宝支付之H5支付
  • WinForm实例源代码下载
  • 查找占CPU高的SQL,并kill其会话
  • 设置sqlplus提示符
  • AVA测试框架内部的Promise异步流程控制模型
  • linux高级策路由理论
  • VS2017配置、提高生产力、代码辨识度 (工欲善其事必先利其器)新手必备!
  • AngularDart 4.0 高级-安全
  • TCP三次握手连接及四次挥手断开过程
  • HDFS 文件操作
  • spring boot 发布成包所需插件
  • java学习笔记1017---多线程
  • [Phoenix] 七、如何使用自增ID
  • STM32L071CBTX操作ECC508
  • __proto__ 和 prototype的关系
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【Linux系统编程】快速查找errno错误码信息
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 2017前端实习生面试总结
  • 345-反转字符串中的元音字母
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • EOS是什么
  • js数组之filter
  • python3 使用 asyncio 代替线程
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue-router的history模式发布配置
  • Zsh 开发指南(第十四篇 文件读写)
  • 高度不固定时垂直居中
  • 观察者模式实现非直接耦合
  • 官方解决所有 npm 全局安装权限问题
  • 码农张的Bug人生 - 初来乍到
  • 前言-如何学习区块链
  • 如何解决微信端直接跳WAP端
  • 删除表内多余的重复数据
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 正则表达式
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • Spring Batch JSON 支持
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (13)Hive调优——动态分区导致的小文件问题
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (一)Dubbo快速入门、介绍、使用
  • (一)kafka实战——kafka源码编译启动
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .net 提取注释生成API文档 帮助文档
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • @Controller和@RestController的区别?
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • []串口通信 零星笔记