• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

nginx-clojure: 这个是github上nginx-clojure的镜像,因为国内有时候访问github不方便 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

nginx-clojure

开源软件地址:

https://gitee.com/nginx-clojure/nginx-clojure

开源软件介绍:

Nginx-Clojure

Build StatusClojars ProjectBSD licensedGitHub last commitSourceForge

Alt text Nginx-Clojure is a Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers.

Core Features

The latest release is v0.5.3, more detail changes about it can be found from Release History.

  1. Compatible with Ring and obviously supports those Ring based frameworks, such as Compojure etc.
  2. Http Services by using Clojure / Java / Groovy to write simple handlers for http services.
  3. Nginx Access Handler by Clojure / Java / Groovy
  4. Nginx Header Filter by Clojure / Java / Groovy
  5. Nginx Body Filter by Clojure / Java / Groovy
  6. Nginx Log Handler by Clojure / Java / Groovy
  7. HTTP V2 support in both standard edition and embedded edition which are compiled against Nginx 1.18.0+
  8. Support Java 9, 10, 11, 12
  9. Pub/Sub Among Nginx Worker Processes
  10. Shared Map based on shared memory & Shared Map based Ring session store
  11. Support Sente, see this PR
  12. Support Per-message Compression Extensions (PMCEs) for WebSocket
  13. APIs for Embedding Nginx-Clojure into a Standard Clojure/Java/Groovy App
  14. Server Side Websocket
  15. A build-in Jersey container to support java standard RESTful web services (JAX-RS 2.0)
  16. Tomcat 8 embedding support (so servlet 3.1/jsp/sendfile/JSR-356 websocket work within nginx!)
  17. Dynamic proxying by using Clojure / Java / Groovy to write a simple nginx rewrite handler to set var or return errors before proxy pass or content ring handler
  18. Non-blocking coroutine based socket which is Compatible with Java Socket API and works well with largely existing java library such as apache http client, mysql jdbc drivers.With this feature one java main thread can handle thousands of connections.
  19. Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time.
  20. Asynchronous callback API of socket/Channel for some advanced usage
  21. Long Polling & Server Sent Events
  22. Run initialization clojure code when nginx worker starting
  23. Support user defined http request method
  24. Compatible with the Nginx lastest most stable version 1.20.2. (Nginx 1.18.x, 1.14.x, 1.12.x, 1.8.x, 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)
  25. One of benifits of Nginx is worker processes are automatically restarted by a master process if they crash
  26. Utilize lazy headers and direct memory operation between Nginx and JVM to fast handle dynamic contents from Clojure or Java code.
  27. Utilize Nginx zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.
  28. Support Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.

By the way it is very fast, the benchmarks can be found HERE(with wrk2).

Jar Repository

Nginx-Clojure has already been published to https://clojars.org/ whose maven repository is

<repository>  <id>clojars.org</id>  <url>http://clojars.org/repo</url></repository>

After adding clojars repository, you can reference nginx-clojure 0.5.3 , e.g.

Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen)

[nginx-clojure "0.5.3"]

Gradle (groovy/java)

compile "nginx-clojure:nginx-clojure:0.5.3"

Maven

<dependency>  <groupId>nginx-clojure</groupId>  <artifactId>nginx-clojure</artifactId>  <version>0.5.3</version></dependency>

Documents

License

Copyright © 2013-2020 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.

This program uses:

  • Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license
  • Modified Continuations Library Written by Matthias Mann is distributed under the BSD 3-Clause license

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap