|
1 | 1 | <h1>
|
2 | 2 | <a id="user-content-core-features" class="anchor" href="#core-features" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Core Features</h1>
|
3 |
| - |
4 |
| -<p>The latest release is v0.4.4, more detail changes about it can be found from <a href="//nginx-clojure.github.io/downloads.html">Release History</a>.</p> |
5 |
| - |
| 3 | +<p>The latest release is v0.4.5, more detail changes about it can be found from <a href="//nginx-clojure.github.io/downloads.html">Release History</a>.</p> |
6 | 4 | <ol>
|
7 | 5 | <li>Compatible with <a href="https://github.com/ring-clojure/ring/blob/master/SPEC">Ring</a> and obviously supports those Ring based frameworks, such as Compojure etc.</li>
|
8 | 6 | <li>Http Services by using Clojure / Java / Groovy to write simple handlers for http services.</li>
|
|
20 | 18 | <li>A build-in Jersey container to support java standard RESTful web services (JAX-RS 2.0)</li>
|
21 | 19 | <li>Tomcat 8 embedding support (so servlet 3.1/jsp/sendfile/JSR-356 websocket work within nginx!)</li>
|
22 | 20 | <li>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</li>
|
23 |
| -<li>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. |
| 21 | +<li>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. |
24 | 22 | With this feature one java main thread can handle thousands of connections.</li>
|
25 | 23 | <li>Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time.</li>
|
26 | 24 | <li>Asynchronous callback API of socket/Channel for some advanced usage</li>
|
27 | 25 | <li>Long Polling & Server Sent Events</li>
|
28 | 26 | <li>Run initialization clojure code when nginx worker starting</li>
|
29 | 27 | <li>Support user defined http request method</li>
|
30 |
| -<li>Compatible with the Nginx lastest stable version 1.8.0. (Nginx 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)</li> |
| 28 | +<li>Compatible with the Nginx lastest stable version 1.12.0. (Nginx 1.8.x, Nginx 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)</li> |
31 | 29 | <li>One of benifits of <a href="http://nginx.org/">Nginx</a> is worker processes are automatically restarted by a master process if they crash</li>
|
32 | 30 | <li>Utilizes lazy headers and direct memory operation between <a href="http://nginx.org/">Nginx</a> and JVM to fast handle dynamic contents from Clojure or Java code.</li>
|
33 | 31 | <li>Utilizes <a href="http://nginx.org/">Nginx</a> zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.</li>
|
34 | 32 | <li>Supports Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.</li>
|
35 | 33 | </ol>
|
36 |
| - |
37 |
| -<p>By the way it is very fast, the benchmarks can be found <a href="https://github.com/ptaoussanis/clojure-web-server-benchmarks/">HERE(with wrk2)</a>.</p> |
38 |
| - |
39 | 34 | <h1>
|
40 |
| -<a id="user-content-jar-repository" class="anchor" href="#jar-repository" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Jar Repository</h1> |
41 |
| - |
42 |
| -<p>Nginx-Clojure has already been published to <a href="https://clojars.org/">https://clojars.org/</a> whose maven repository is </p> |
43 |
| - |
| 35 | +<a id="user-content-by-the-way-it-is-very-fast-the-benchmarks-can-be-found-herewith-wrk2jar-repository" class="anchor" href="#by-the-way-it-is-very-fast-the-benchmarks-can-be-found-herewith-wrk2jar-repository" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>By the way it is very fast, the benchmarks can be found <a href="https://github.com/ptaoussanis/clojure-web-server-benchmarks/">HERE(with wrk2)</a>. |
| 36 | +Jar Repository</h1> |
| 37 | +<p>Nginx-Clojure has already been published to <a href="https://clojars.org/">https://clojars.org/</a> whose maven repository is</p> |
44 | 38 | <div class="highlight highlight-text-xml"><pre><<span class="pl-ent">repository</span>>
|
45 | 39 | <<span class="pl-ent">id</span>>clojars.org</<span class="pl-ent">id</span>>
|
46 | 40 | <<span class="pl-ent">url</span>>http://clojars.org/repo</<span class="pl-ent">url</span>>
|
47 | 41 | </<span class="pl-ent">repository</span>></pre></div>
|
48 |
| - |
49 |
| -<p>After adding clojars repository, you can reference nginx-clojure 0.4.4 , e.g.</p> |
50 |
| - |
| 42 | +<p>After adding clojars repository, you can reference nginx-clojure 0.4.5 , e.g.</p> |
51 | 43 | <h2>
|
52 |
| -<a id="user-content--leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen-" class="anchor" href="#-leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen-" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a> Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen) </h2> |
53 |
| - |
54 |
| -<div class="highlight highlight-source-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.4.4<span class="pl-pds">"</span></span>]</pre></div> |
55 |
| - |
| 44 | +<a id="user-content-leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen" class="anchor" href="#leiningen-clojure-no-need-to-add-clojars-repository-which-is-a-default-repository-for-leiningen" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Leiningen (clojure, no need to add clojars repository which is a default repository for Leiningen)</h2> |
| 45 | +<div class="highlight highlight-source-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.4.5<span class="pl-pds">"</span></span>]</pre></div> |
56 | 46 | <h2>
|
57 | 47 | <a id="user-content-gradle-groovyjava" class="anchor" href="#gradle-groovyjava" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Gradle (groovy/java)</h2>
|
58 |
| - |
59 |
| -<pre><code>compile "nginx-clojure:nginx-clojure:0.4.4" |
| 48 | +<pre><code>compile "nginx-clojure:nginx-clojure:0.4.5" |
60 | 49 | </code></pre>
|
61 |
| - |
62 | 50 | <h2>
|
63 | 51 | <a id="user-content-maven" class="anchor" href="#maven" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Maven</h2>
|
64 |
| - |
65 | 52 | <div class="highlight highlight-text-xml"><pre><<span class="pl-ent">dependency</span>>
|
66 | 53 | <<span class="pl-ent">groupId</span>>nginx-clojure</<span class="pl-ent">groupId</span>>
|
67 | 54 | <<span class="pl-ent">artifactId</span>>nginx-clojure</<span class="pl-ent">artifactId</span>>
|
68 |
| - <<span class="pl-ent">version</span>>0.4.4</<span class="pl-ent">version</span>> |
| 55 | + <<span class="pl-ent">version</span>>0.4.5</<span class="pl-ent">version</span>> |
69 | 56 | </<span class="pl-ent">dependency</span>></pre></div>
|
70 |
| - |
71 | 57 | <h1>
|
72 | 58 | <a id="user-content-more-documents" class="anchor" href="#more-documents" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>More Documents</h1>
|
73 |
| - |
74 | 59 | <p>More Documents can be found from its web site <a href="http://nginx-clojure.github.io/">nginx-clojure.github.io</a></p>
|
75 |
| - |
76 | 60 | <h1>
|
77 | 61 | <a id="user-content-license" class="anchor" href="#license" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>License</h1>
|
78 |
| - |
79 |
| -<p>Copyright © 2013-2016 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p> |
80 |
| - |
| 62 | +<p>Copyright © 2013-2017 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p> |
81 | 63 | <p>This program uses:</p>
|
82 |
| - |
83 | 64 | <ul>
|
84 | 65 | <li>Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license</li>
|
85 | 66 | <li>Modified Continuations Library Written by Matthias Mann is distributed under the BSD 3-Clause license</li>
|
|
0 commit comments