hi-nginx-1.4.2釋出,多項重要更新

zmark發表於2018-04-03

支援多種程式語言混合開發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 hiservlet {

    public function handler(hi
equest $req, hi
esponse $res) {
        $app = hi
oute::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


相關文章