hi-nginx-1.4.2发布,多项重要更新

简介: 支持多种编程语言混合开发web应用的通用服务器hi-nginx-1.4.2已经发布了。此次发布包含多项重要更新:支持python2和3,通过编译选项--with-http-hi-python-version删除boost.

支持多种编程语言混合开发web应用的通用服务器hi-nginx-1.4.2已经发布了。

此次发布包含多项重要更新:

  1. 支持python2和3,通过编译选项--with-http-hi-python-version
  2. 删除boost.python依赖,优化python3兼容性,性能有所提高
  3. 支持lua和luajit,通过编译选项--with-http-hi-lua-version
  4. 为python专门定制了hi.py框架,单一入口,类似bottle或者flask一样,对性能有一定影响,但还是比bottle和flask快得多
  5. 为php7专门定制了类似hi.py的微型框架,单一入口,类似bottle或者flask,对性能没什么影响

hi.py示例:

 1 from hi import hi
 2 app =hi()
 3 
 4 @app.route(r'^/test/?$',['GET','POST'])
 5 @app.route(r"^/$",['GET'])
 6 def hello_world(req,res,param):
 7     res.header('Content-Type','text/plain;charset=utf-8')
 8     res.content('hello,world')
 9     res.status(200)
10 
11 @app.route(r"^/client/?$",['GET','POST'])
12 def client(req,res,param):
13     res.content('{}<br>{}<br>{}<br>{}<br>{}'.format(req.client(),req.method(),req.uri(),req.user_agent(),req.param()))
14     res.status(200)
15 
16 @app.route(r"^/hello/(?P<who>\w+)?$",['GET'])
17 def hello(req,res,param):
18     res.content('{}={}'.format('who',param['who']))
19     res.status(200)
20 
21 
22 
23 if __name__ == '__main__':
24     app.run(hi_req,hi_res)

php7示例代码:

require_once 'hi/servlet.php';
require_once 'hi/route.php';

class index implements \hi\servlet {

    public function handler(\hi\request $req, \hi\response $res) {
        $app = \hi\route::get_instance();
        $app->add('{^/$}', array('GET'), function ($rq, $rs, &$param) {
            $rs->content = 'hello,world';
            $rs->status = 200;
        });
        
        $app->add('{^/who/(?P<name>\w+)/?$}', array('GET'), function ($rq, $rs, &$param) {
            $rs->content = 'hello,'.$param['name'];
            $rs->status = 200;
        });

        $app->add('{^/phpinfo/?$}', array('GET'), function($rq, $rs, &$param) {
            ob_start();
            phpinfo();
            $rs->content = ob_get_contents();
            $rs->status = 200;
            ob_end_clean();
        });
        $app->run($req, $res);
    }

}

 

简介

它既是 web 服务器,也是 application 服务器。 

它是 NGINX 的超集。 

它性能强劲,易于开发,部署方便。 

它支持多种语言混合开发 web 应用:

  • C++

  • Python

  • Lua

  • Java

  • PHP

目录
相关文章
AWS-EC2多弹性ip配置
AWS-EC2多弹性ip配置
1162 0
AWS-EC2多弹性ip配置
|
11月前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
机器学习/深度学习 自然语言处理 数据安全/隐私保护
未来家居:智能语音助手的革新之路
【6月更文挑战第3天】本文将探讨智能语音助手在现代家居中的革命性角色,分析其如何重新定义我们的日常生活,以及面临的技术挑战和未来的发展趋势。
|
11月前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 2023 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
YOLOv5改进 | 2023 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
575 0
|
12月前
|
监控 关系型数据库 MySQL
MySQL 查看数据库实例
MySQL 查看数据库实例
273 6
|
Kubernetes 持续交付 Go
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
创建一个基于Go程序的持续集成/持续部署(CI/CD)流水线
|
搜索推荐 人机交互 项目管理
「UCD」用户体验设计
【7月更文挑战第3天】
376 5
|
机器学习/深度学习 JSON PyTorch
图神经网络入门示例:使用PyTorch Geometric 进行节点分类
本文介绍了如何使用PyTorch处理同构图数据进行节点分类。首先,数据集来自Facebook Large Page-Page Network,包含22,470个页面,分为四类,具有不同大小的特征向量。为训练神经网络,需创建PyTorch Data对象,涉及读取CSV和JSON文件,处理不一致的特征向量大小并进行归一化。接着,加载边数据以构建图。通过`Data`对象创建同构图,之后数据被分为70%训练集和30%测试集。训练了两种模型:MLP和GCN。GCN在测试集上实现了80%的准确率,优于MLP的46%,展示了利用图信息的优势。
338 1
|
人工智能 运维 监控
实现全景化应用监控的基础:关联分析
【6月更文挑战第16天】应用运维智能化应对复杂度挑战,借助AI算法分析数据、做决策。智能运维需统一监控视图,关联分析如CMDB信息、网络流量和代码链路。此外,利用AI计算关联关系,通过时间序列分析和概率图模型挖掘隐藏的故障模式,提升故障定位和决策效率。