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++是基本的和必选的。
- c++语言,需要安装支持c++11的g++或者clang++,以及hiredis-devel。这个部分是必要的。
- python语言,需要安装boost-devel和python-devel
- lua语言,需要安装lua-devel5.1-5.3
- php语言,需要安装php7
- java语言,需要安装jdk10以下版本,openjdk也是可以的
具体来说,可以使用以下命令安装:
centos |
|
ubuntu |
|
不需要哪种语言,就把哪种语言的相关项目去掉。
php7的编译安装与平时有两点不同。第一,需要开启--enable-embed=shared选项。第二,在configure之前,需要稍微修改下configure文件。打开该文件,搜索ac_cv_have_decl_isfinite
,找到后,把以下部分:
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=
else
ac_have_decl=
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=
else
ac_have_decl=
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时开启哪种语言,默认是全部开启的:
--enable-http-hi-cpp=YES \
--enable-http-hi-python=YES \
--enable-http-hi-lua=YES \
--enable-http-hi-java=YES \
--enable-http-hi-php=YES \
--add-module=ngx_http_hi_module \
不需要某种语言(除cpp外),就把某项设置为NO。hi-nginx安装包下有个install_demo.sh文件,可以按自己的需要修改后直接运行使用。然后make && sudo make install 即可。
编译安装后记得systemctl daemon-reload 和systemctl restart nginx。
hi-nginx-1.3.4编译安装的更多相关文章
- 新安装和已安装nginx如何添加未编译安装模块/补丁
新安装和已安装nginx如何添加未编译安装模块/补丁 --http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=10485& ...
- 安装成功的nginx如何添加未编译安装模块
原已经安装好的nginx,现在需要添加一个未被编译安装的模块举例说明:安装第三方的ngx_cache_purge模块(用于清除指定URL的缓存)nginx的模块是需要重新编译nginx,而不是像apa ...
- nginx的下载、编译安装和启动
一.nginx简介 nginx(“engine x”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器.nginx是由Igor Sysoev为俄罗斯访问量第二的R ...
- centos 7 下 nginx 1.10.3 编译安装的方法
安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装安装 nginx 需要先 ...
- F-stack及其Nginx、redis的编译安装
F-stack简介 F-stack粘合了dpdk.用户态协议栈和nginx.redis,弥补了dpdk没有协议栈的不足,并用nginx.redis提供了一个调用应用程序的接口. Quick Start ...
- 转:安装成功的nginx如何添加未编译安装模块
原已经安装好的nginx,现在需要添加一个未被编译安装的模块 举例说明:安装第三方的ngx_cache_purge模块(用于清除指定URL的缓存) nginx的模块是需要重新编译nginx,而不是像a ...
- Nginx之解压编译安装-yellowcong
安装前准备 对于nginx编译安装需要先安装编译 的工具,然后再安装nginx依赖 yum -y install gcc gcc-c++ autoconf automake make yum -y i ...
- 生产线上的Nginx如何添加未编译安装模块
正在生产线上跑着web前端是nginx+tomcat,现在有这样一个需求,需要对网站的单品页面和列表页设置缓存,不同的页面设置不同的缓存,但是由于开始没有安装ngx_cache_purge这个模块,现 ...
- [nginx] 从源码编译安装NGINX
nginx通过rpm包进行的安装和配置: [web][nginx] 初识nginx -- 使用nginx搭建https DPI解码测试环境 现在,要通过源码进行安装. 参考:https://nginx ...
- nginx各版本全自动编译安装脚本
#!/bin/bash #作者:星云法师(头条号:西西图图---专注美食领域的研究) #环境:centos7,如果是其它的系统可以相应做调整.#--------选择安装方式,网络晚装还是本地安装--- ...
随机推荐
- swift 学习之自动引用计数
swift 学习之自动引用计数 学习和研究的主要是"实例对象和实例对象直接的相会强引用所产生的内从泄漏"和"使用闭包产生的强引用造成的内存泄漏" 注意:只有以引 ...
- Linux PCI/PCI-E设备配置空间读取与修改
Linux PCI/PCI-E设备配置空间读取与修改 1 前言 PCI和PCI Express,是计算机常使用的一种高速总线.操作系统中的PCI/PCI-E设备驱动以及操作系统内核,都需要访问PCI及 ...
- JFFS2 文件系统及新特性介绍
简介: JFFS2 是一个开放源码的项目(www.infradead.org). 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用.这篇文章首先分析了在闪存上使用 JFFS2 的必 ...
- hi3531spi flash启动和bootrom启动的对比
a
- Vxworks 6.6系列下载地址
Vxworks 6.6系列下载地址: ---------------------------------- ftp://ftp.windriver.speedera.net/ftp.windriver ...
- java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class org.
1.错误描述 严重: Exception starting filter struts2 java.lang.UnsupportedClassVersionError: Bad version num ...
- Linux显示使用者将不能利用交谈式指令来对行程
Linux显示使用者将不能利用交谈式指令来对行程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ top -s top - 19:23:34 up 52 min ...
- Linux进行AES加密每次结果都不一致并且解密失败报错
1. 现象 windows操作系统下进行"123456"的AES加密 encrypted message is below : QLNYZyjRnKF/zxAjzDt/lw== d ...
- jquery的动画学习--jquery权威指南
前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是f ...
- 递归方法,查询出树该组织及以下组织的组织ID
-- 查询出该组织下所有组织id的集合 --方法一: public String getAllOrgidsTwo(Integer orgid){ List<Integer> orgids= ...