Skip to content

Commit a11a0e7

Browse files
committed
🔖 doc update for v0.5.1
1 parent 1eefb70 commit a11a0e7

15 files changed

+122
-120
lines changed

Configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ It 's a new feature since v0.2.5. We can define variables and reuse them in jvm_
4545
```nginx
4646
4747
###define nginx_clojure_jar
48-
jvm_var nginx_clojure_jar '/home/who/git/nginx-clojure/target/nginx-clojure-0.2.5.jar';
48+
jvm_var nginx_clojure_jar '/home/who/git/nginx-clojure/target/nginx-clojure-0.5.1.jar';
4949
###reference variable nginx_clojure_jar, starts with #{ different from nginx variable
5050
jvm_options "-javaagent:#{nginx_clojure_jar}=mb";
5151
jvm_options "-Xbootclasspath/a:#{nginx_clojure_jar}:jars/clojure-1.5.1.jar";

Configuration.md.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ <h3>
3737
<p>It 's a new feature since v0.2.5. We can define variables and reuse them in jvm_options to make configurations neat.</p>
3838
<div class="highlight highlight-source-nginx"><pre>
3939
<span class="pl-c">###define nginx_clojure_jar</span>
40-
<span class="pl-k">jvm_var</span> nginx_clojure_jar <span class="pl-s">'/home/who/git/nginx-clojure/target/nginx-clojure-0.2.5.jar'</span>;
40+
<span class="pl-k">jvm_var</span> nginx_clojure_jar <span class="pl-s">'/home/who/git/nginx-clojure/target/nginx-clojure-0.5.1.jar'</span>;
4141
<span class="pl-c">###reference variable nginx_clojure_jar, starts with #{ different from nginx variable</span>
4242
<span class="pl-k">jvm_options</span> <span class="pl-s">"-javaagent:#{nginx_clojure_jar}=mb"</span>;
4343
<span class="pl-k">jvm_options</span> <span class="pl-s">"-Xbootclasspath/a:#{nginx_clojure_jar}:jars/clojure-1.5.1.jar"</span>;

CoreFeatures.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Core Features
22
=================
33

4-
The latest release is v0.5.0, more detail changes about it can be found from [Release History](//nginx-clojure.github.io/downloads.html).
4+
The latest release is v0.5.1, more detail changes about it can be found from [Release History](//nginx-clojure.github.io/downloads.html).
55

66
1. Compatible with [Ring](https://github.com/ring-clojure/ring/blob/master/SPEC) and obviously supports those Ring based frameworks, such as Compojure etc.
77
1. Http Services by using Clojure / Java / Groovy to write simple handlers for http services.
@@ -29,9 +29,9 @@ With this feature one java main thread can handle thousands of connections.
2929
1. Support user defined http request method
3030
1. Compatible with the Nginx lastest most stable version 1.14.2. (Nginx 1.12.x, 1.8.x, 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)
3131
1. One of benifits of [Nginx](http://nginx.org/) is worker processes are automatically restarted by a master process if they crash
32-
1. Utilizes lazy headers and direct memory operation between [Nginx](http://nginx.org/) and JVM to fast handle dynamic contents from Clojure or Java code.
33-
1. Utilizes [Nginx](http://nginx.org/) zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.
34-
1. Supports Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.
32+
1. Utilize lazy headers and direct memory operation between [Nginx](http://nginx.org/) and JVM to fast handle dynamic contents from Clojure or Java code.
33+
1. Utilize [Nginx](http://nginx.org/) zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.
34+
1. Support Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.
3535

3636
By the way it is very fast, the benchmarks can be found [HERE(with wrk2)](https://github.com/ptaoussanis/clojure-web-server-benchmarks/).
3737

@@ -47,19 +47,19 @@ Nginx-Clojure has already been published to https://clojars.org/ whose maven rep
4747
</repository>
4848
```
4949

50-
After adding clojars repository, you can reference nginx-clojure 0.5.0 , e.g.
50+
After adding clojars repository, you can reference nginx-clojure 0.5.1 , e.g.
5151

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

5555
```clojure
56-
[nginx-clojure "0.5.0"]
56+
[nginx-clojure "0.5.1"]
5757
```
5858
Gradle (groovy/java)
5959
-----------------
6060

6161
```
62-
compile "nginx-clojure:nginx-clojure:0.5.0"
62+
compile "nginx-clojure:nginx-clojure:0.5.1"
6363
```
6464
Maven
6565
-----------------
@@ -68,7 +68,7 @@ Maven
6868
<dependency>
6969
<groupId>nginx-clojure</groupId>
7070
<artifactId>nginx-clojure</artifactId>
71-
<version>0.5.0</version>
71+
<version>0.5.1</version>
7272
</dependency>
7373
```
7474

CoreFeatures.md.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h1>
22
<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-
<p>The latest release is v0.5.0, more detail changes about it can be found from <a href="//nginx-clojure.github.io/downloads.html" rel="nofollow">Release History</a>.</p>
3+
<p>The latest release is v0.5.1, more detail changes about it can be found from <a href="//nginx-clojure.github.io/downloads.html" rel="nofollow">Release History</a>.</p>
44
<ol>
55
<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>
66
<li>Http Services by using Clojure / Java / Groovy to write simple handlers for http services.</li>
@@ -32,9 +32,9 @@ <h1>
3232
<li>Support user defined http request method</li>
3333
<li>Compatible with the Nginx lastest most stable version 1.14.2. (Nginx 1.12.x, 1.8.x, 1.6.x, 1.4.x is also ok, older version is not tested and maybe works.)</li>
3434
<li>One of benifits of <a href="http://nginx.org/" rel="nofollow">Nginx</a> is worker processes are automatically restarted by a master process if they crash</li>
35-
<li>Utilizes lazy headers and direct memory operation between <a href="http://nginx.org/" rel="nofollow">Nginx</a> and JVM to fast handle dynamic contents from Clojure or Java code.</li>
36-
<li>Utilizes <a href="http://nginx.org/" rel="nofollow">Nginx</a> zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.</li>
37-
<li>Supports Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.</li>
35+
<li>Utilize lazy headers and direct memory operation between <a href="http://nginx.org/" rel="nofollow">Nginx</a> and JVM to fast handle dynamic contents from Clojure or Java code.</li>
36+
<li>Utilize <a href="http://nginx.org/" rel="nofollow">Nginx</a> zero copy file sending mechanism to fast handle static contents controlled by Clojure or Java code.</li>
37+
<li>Support Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X. Freebsd version can also be got from Freebsd ports.</li>
3838
</ol>
3939
<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>
4040
<h1>
@@ -44,20 +44,20 @@ <h1>
4444
&lt;<span class="pl-ent">id</span>&gt;clojars.org&lt;/<span class="pl-ent">id</span>&gt;
4545
&lt;<span class="pl-ent">url</span>&gt;http://clojars.org/repo&lt;/<span class="pl-ent">url</span>&gt;
4646
&lt;/<span class="pl-ent">repository</span>&gt;</pre></div>
47-
<p>After adding clojars repository, you can reference nginx-clojure 0.5.0 , e.g.</p>
47+
<p>After adding clojars repository, you can reference nginx-clojure 0.5.1 , e.g.</p>
4848
<h2>
4949
<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>
50-
<div class="highlight highlight-source-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.5.0<span class="pl-pds">"</span></span>]</pre></div>
50+
<div class="highlight highlight-source-clojure"><pre>[nginx-clojure <span class="pl-s"><span class="pl-pds">"</span>0.5.1<span class="pl-pds">"</span></span>]</pre></div>
5151
<h2>
5252
<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>
53-
<pre><code>compile "nginx-clojure:nginx-clojure:0.5.0"
53+
<pre><code>compile "nginx-clojure:nginx-clojure:0.5.1"
5454
</code></pre>
5555
<h2>
5656
<a id="user-content-maven" class="anchor" href="#maven" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Maven</h2>
5757
<div class="highlight highlight-text-xml"><pre>&lt;<span class="pl-ent">dependency</span>&gt;
5858
&lt;<span class="pl-ent">groupId</span>&gt;nginx-clojure&lt;/<span class="pl-ent">groupId</span>&gt;
5959
&lt;<span class="pl-ent">artifactId</span>&gt;nginx-clojure&lt;/<span class="pl-ent">artifactId</span>&gt;
60-
&lt;<span class="pl-ent">version</span>&gt;0.5.0&lt;/<span class="pl-ent">version</span>&gt;
60+
&lt;<span class="pl-ent">version</span>&gt;0.5.1&lt;/<span class="pl-ent">version</span>&gt;
6161
&lt;/<span class="pl-ent">dependency</span>&gt;</pre></div>
6262
<h1>
6363
<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>

Embed.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Jar Repository
99
For Clojure
1010

1111
```clojure
12-
[nginx-clojure/nginx-clojure-embed "0.4.3"]
12+
[nginx-clojure/nginx-clojure-embed "0.5.1"]
1313
```
1414

1515
For Java (Maven)
@@ -25,7 +25,7 @@ For Java (Maven)
2525
<dependency>
2626
<groupId>nginx-clojure</groupId>
2727
<artifactId>nginx-clojure-embed</artifactId>
28-
<version>0.4.3</version>
28+
<version>0.5.1</version>
2929
</dependency>
3030
```
3131

Embed.md.html

Lines changed: 25 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,74 @@
11
<h1>
2-
<a id="user-content-nginx-clojure-embed" class="anchor" href="#nginx-clojure-embed" aria-hidden="true"><span class="octicon octicon-link"></span></a>nginx-clojure-embed</h1>
3-
2+
<a id="user-content-nginx-clojure-embed" class="anchor" href="#nginx-clojure-embed" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>nginx-clojure-embed</h1>
43
<p>Embeding Nginx-Clojure into a standard java/clojure app without additional Nginx process.
54
It can make test/debug with nginx-clojure clojure/java handler quite easy.</p>
6-
75
<h1>
8-
<a id="user-content-jar-repository" class="anchor" href="#jar-repository" aria-hidden="true"><span class="octicon octicon-link"></span></a>Jar Repository</h1>
9-
6+
<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>
107
<p>For Clojure</p>
11-
12-
<div class="highlight highlight-source-clojure"><pre>[nginx-clojure/nginx-clojure-embed <span class="pl-s"><span class="pl-pds">"</span>0.4.3<span class="pl-pds">"</span></span>]</pre></div>
13-
8+
<div class="highlight highlight-source-clojure"><pre>[nginx-clojure/nginx-clojure-embed <span class="pl-s"><span class="pl-pds">"</span>0.5.1<span class="pl-pds">"</span></span>]</pre></div>
149
<p>For Java (Maven)</p>
15-
1610
<div class="highlight highlight-text-xml"><pre>&lt;<span class="pl-ent">repository</span>&gt;
1711
&lt;<span class="pl-ent">id</span>&gt;clojars.org&lt;/<span class="pl-ent">id</span>&gt;
1812
&lt;<span class="pl-ent">url</span>&gt;http://clojars.org/repo&lt;/<span class="pl-ent">url</span>&gt;
1913
&lt;/<span class="pl-ent">repository</span>&gt;</pre></div>
20-
2114
<div class="highlight highlight-text-xml"><pre>&lt;<span class="pl-ent">dependency</span>&gt;
2215
&lt;<span class="pl-ent">groupId</span>&gt;nginx-clojure&lt;/<span class="pl-ent">groupId</span>&gt;
2316
&lt;<span class="pl-ent">artifactId</span>&gt;nginx-clojure-embed&lt;/<span class="pl-ent">artifactId</span>&gt;
24-
&lt;<span class="pl-ent">version</span>&gt;0.4.3&lt;/<span class="pl-ent">version</span>&gt;
17+
&lt;<span class="pl-ent">version</span>&gt;0.5.1&lt;/<span class="pl-ent">version</span>&gt;
2518
&lt;/<span class="pl-ent">dependency</span>&gt;</pre></div>
26-
2719
<h1>
28-
<a id="user-content-startstop-embedded-server" class="anchor" href="#startstop-embedded-server" aria-hidden="true"><span class="octicon octicon-link"></span></a>Start/Stop Embedded Server</h1>
29-
20+
<a id="user-content-startstop-embedded-server" class="anchor" href="#startstop-embedded-server" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Start/Stop Embedded Server</h1>
3021
<p>For Clojure</p>
31-
32-
<div class="highlight highlight-source-clojure"><pre> <span class="pl-c">;;(1) Start it with ring handler and an options map</span>
33-
<span class="pl-c">;;my-app can be a simple ring hanler or a compojure router.</span>
22+
<div class="highlight highlight-source-clojure"><pre> <span class="pl-c"><span class="pl-c">;</span>;(1) Start it with ring handler and an options map</span>
23+
<span class="pl-c"><span class="pl-c">;</span>;my-app can be a simple ring hanler or a compojure router.</span>
3424
(<span class="pl-en">run-server</span> my-app {<span class="pl-c1">:port</span> <span class="pl-c1">8080</span>})
3525

3626

37-
<span class="pl-c">;;(2) Start it with a nginx.conf file</span>
27+
<span class="pl-c"><span class="pl-c">;</span>;(2) Start it with a nginx.conf file</span>
3828
(<span class="pl-en">run-server</span> <span class="pl-s"><span class="pl-pds">"</span>/my-dir/nginx.conf<span class="pl-pds">"</span></span>)
3929

40-
<span class="pl-c">;;(3) Start it with a given work dir</span>
30+
<span class="pl-c"><span class="pl-c">;</span>;(3) Start it with a given work dir</span>
4131
(<span class="pl-k">binding</span> [*nginx-work-dir* my-work-dir]
4232
(<span class="pl-en">run-server</span> ...))
43-
44-
<span class="pl-c">;;(4) Stop the server</span>
33+
34+
<span class="pl-c"><span class="pl-c">;</span>;(4) Stop the server</span>
4535
(<span class="pl-en">stop-server</span>)</pre></div>
46-
4736
<p>For Java</p>
48-
49-
<div class="highlight highlight-source-java"><pre><span class="pl-c">//Start it with ring handler and an options map</span>
37+
<div class="highlight highlight-source-java"><pre><span class="pl-c"><span class="pl-c">//</span>Start it with ring handler and an options map</span>
5038
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>start(<span class="pl-s"><span class="pl-pds">"</span>my.HelloHandler<span class="pl-pds">"</span></span>, <span class="pl-smi">ArrayMap</span><span class="pl-k">.</span>create(<span class="pl-s"><span class="pl-pds">"</span>port<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>8081<span class="pl-pds">"</span></span>));
5139

5240

53-
<span class="pl-c">//Start it with with a nginx.conf file</span>
41+
<span class="pl-c"><span class="pl-c">//</span>Start it with with a nginx.conf file</span>
5442
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>start(<span class="pl-s"><span class="pl-pds">"</span>/my-dir/nginx.conf<span class="pl-pds">"</span></span>);
5543

56-
<span class="pl-c">//Start it with a given work dir</span>
44+
<span class="pl-c"><span class="pl-c">//</span>Start it with a given work dir</span>
5745
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>setWorkDir(my<span class="pl-k">-</span>work<span class="pl-k">-</span>dir);
5846
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>start(<span class="pl-c1">...</span>);
5947

6048

61-
<span class="pl-c">//Stop the server</span>
49+
<span class="pl-c"><span class="pl-c">//</span>Stop the server</span>
6250
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>stop();</pre></div>
63-
6451
<h1>
65-
<a id="user-content-default-options" class="anchor" href="#default-options" aria-hidden="true"><span class="octicon octicon-link"></span></a>Default Options</h1>
66-
52+
<a id="user-content-default-options" class="anchor" href="#default-options" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Default Options</h1>
6753
<div class="highlight highlight-source-clojure"><pre> <span class="pl-s"><span class="pl-pds">"</span>error-log<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>logs/error.log<span class="pl-pds">"</span></span>,
6854
<span class="pl-s"><span class="pl-pds">"</span>max-connections<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>1024<span class="pl-pds">"</span></span>,
6955
<span class="pl-s"><span class="pl-pds">"</span>access-log<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>off<span class="pl-pds">"</span></span>,
7056
<span class="pl-s"><span class="pl-pds">"</span>keepalive-timeout<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>65<span class="pl-pds">"</span></span>,
7157
<span class="pl-s"><span class="pl-pds">"</span>max-threads<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>8<span class="pl-pds">"</span></span>,
7258
<span class="pl-s"><span class="pl-pds">"</span>host<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>0.0.0.0<span class="pl-pds">"</span></span>,
7359
<span class="pl-s"><span class="pl-pds">"</span>port<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span>8080<span class="pl-pds">"</span></span>,</pre></div>
74-
7560
<p>User defined zones</p>
76-
77-
<div class="highlight highlight-source-clojure"><pre> <span class="pl-c">;;;at nginx.conf top level</span>
61+
<div class="highlight highlight-source-clojure"><pre> <span class="pl-c"><span class="pl-c">;</span>;;at nginx.conf top level</span>
7862
<span class="pl-s"><span class="pl-pds">"</span>global-user-defined<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>,
79-
80-
<span class="pl-c">;;;at nginx.conf http block</span>
63+
64+
<span class="pl-c"><span class="pl-c">;</span>;;at nginx.conf http block</span>
8165
<span class="pl-s"><span class="pl-pds">"</span>http-user-defined<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>,
82-
83-
<span class="pl-c">;;at nginx.conf types mapping block</span>
66+
67+
<span class="pl-c"><span class="pl-c">;</span>;at nginx.conf types mapping block</span>
8468
<span class="pl-s"><span class="pl-pds">"</span>types-user-defined<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>,
85-
86-
<span class="pl-c">;;at nginx.conf server block</span>
69+
70+
<span class="pl-c"><span class="pl-c">;</span>;at nginx.conf server block</span>
8771
<span class="pl-s"><span class="pl-pds">"</span>server-user-defined<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>,
88-
89-
<span class="pl-c">;;at nginx.conf location block</span>
72+
73+
<span class="pl-c"><span class="pl-c">;</span>;at nginx.conf location block</span>
9074
<span class="pl-s"><span class="pl-pds">"</span>location-user-defined<span class="pl-pds">"</span></span>, <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> </pre></div>

HISTORY.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ Downloads & Release History
44
1. [Binaries of Releases](http://sourceforge.net/projects/nginx-clojure/files/)
55
1. [Sources of Releases](https://github.com/nginx-clojure/nginx-clojure/releases)
66

7+
## 0.5.1 (2019-11-23)
8+
9+
1. Bug Fix: Connection hangs with header filter at thread-pool mode #209 #153
10+
1. Bug Fix: Body filter hangs when body size is larger than the value specified in proxy_buffers #219
11+
1. Bug Fix: Segment fault caused by request is marked as closed too late #222
12+
1. Code Style: Fix generic warnings in java code code-style #223 (Thanks to Michael @mgoblin)
13+
1. Bug Fix: NPE caused by damaged memory because unsafe modify response headers #198
14+
1. Bug Fix: Wrong response for uncompressed message with PMCE enabled
15+
1. CI: both auto-triggered unit test and integration test use travis-ci
16+
17+
18+
719
## 0.5.0 (2019-10-26)
820

921
1. New Feature: Java 9, 10, 11, 12 support. But Java 6 and Java 7 are deprecated now.

0 commit comments

Comments
 (0)