Skip to content

Commit d257323

Browse files
committed
Update site for releaser v0.2.5
1 parent a990ce4 commit d257323

29 files changed

+3970
-794
lines changed

.Configuration.md.html

Lines changed: 602 additions & 0 deletions
Large diffs are not rendered by default.

.CoreFeatures.md.html

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5+
<title>/home/who/git/nginx-clojure.github.io/.CoreFeatures.md.html</title>
6+
7+
8+
<style type="text/css">
9+
10+
.markdown-body {
11+
border: 1px solid #CACACA;
12+
padding: 30px;
13+
font-size: 14px;
14+
line-height: 1.6;
15+
}
16+
17+
.markdown-body h2 {
18+
border-bottom: 1px solid #CCCCCC;
19+
}
20+
21+
.markdown-body code {
22+
white-space: nowrap;
23+
}
24+
25+
.markdown-body code, .markdown-body tt {
26+
background-color: #F8F8F8;
27+
border: 1px solid #EAEAEA;
28+
border-radius: 3px 3px 3px 3px;
29+
margin: 0 2px;
30+
padding: 0 5px;
31+
}
32+
33+
.markdown-body .highlight pre, .markdown-body pre {
34+
background-color: #F8F8F8;
35+
border: 1px solid #CCCCCC;
36+
border-radius: 3px 3px 3px 3px;
37+
font-size: 13px;
38+
line-height: 19px;
39+
overflow: auto;
40+
padding: 6px 10px;
41+
}
42+
43+
.markdown-body img {
44+
border: 0 none;
45+
}
46+
47+
pre, code, tt {
48+
font-family: Consolas,"Liberation Mono",Courier,monospace;
49+
font-size: 12px;
50+
}
51+
52+
</style>
53+
54+
55+
<script type="text/javascript">
56+
57+
function getDocumentScrollTop()
58+
{
59+
var res = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset || 0;
60+
// alert(res);
61+
return res;
62+
}
63+
64+
function setDocumentScrollTop(ypos)
65+
{
66+
window.scrollTo(0, ypos);
67+
}
68+
69+
</script>
70+
71+
72+
</head>
73+
<body class="markdown-body">
74+
<h1> <a name="user-content-core-features" class="anchor" href="..md.html#core-features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Core Features</h1>
75+
<p>The latest release is v0.2.5, more detail changes about it can be found from <a href="downloads.html">Release History</a>.</p>
76+
<ol>
77+
<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>
78+
<li>Use Clojure / Java / Groovy to write simple handlers for http services.</li>
79+
<li>Use Clojure / Java / Groovy to write a simple nginx rewrite handler to set var or return errors before proxy pass or content ring handler</li>
80+
<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. With this feature one java main thread can handle thousands of connections.</li>
81+
<li>Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time.</li>
82+
<li>Asynchronous callback API of socket/Channel(<strong><em>NEW</em></strong>) for some advanced usage</li>
83+
<li> <strong><em>NEW</em></strong>: Long Polling &amp; Server Sent Events</li>
84+
<li> <strong><em>NEW</em></strong>: More easier to archive Sub/Pub services with broadcast events API</li>
85+
<li>Run initialization clojure code when nginx worker starting</li>
86+
<li>Support user defined http request method</li>
87+
<li>Compatible with the Nginx lastest stable version 1.6.0. (Nginx 1.4.x is also ok, older version is not tested and maybe works.)</li>
88+
<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>
89+
<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>
90+
<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>
91+
<li>Supports Linux x64, Linux x86 32bit, Win32, Win64(<strong><em>NEW</em></strong>) and Mac OS X. </li>
92+
</ol>
93+
<h1> <a name="user-content-license" class="anchor" href="..md.html#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>License</h1>
94+
<p>Copyright &copy; 2013-2014 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p>
95+
<p>This program uses:</p>
96+
<ul>
97+
<li>Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license</li>
98+
<li>Modified Continuations Library Written by Matthias Mann is distributed under the BSD 3-Clause license</li>
99+
</ul>
100+
</body>
101+
</html>

.HISTORY.md.html

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5+
<title>/home/who/git/nginx-clojure.github.io/.HISTORY.md.html</title>
6+
7+
8+
<style type="text/css">
9+
10+
.markdown-body {
11+
border: 1px solid #CACACA;
12+
padding: 30px;
13+
font-size: 14px;
14+
line-height: 1.6;
15+
}
16+
17+
.markdown-body h2 {
18+
border-bottom: 1px solid #CCCCCC;
19+
}
20+
21+
.markdown-body code {
22+
white-space: nowrap;
23+
}
24+
25+
.markdown-body code, .markdown-body tt {
26+
background-color: #F8F8F8;
27+
border: 1px solid #EAEAEA;
28+
border-radius: 3px 3px 3px 3px;
29+
margin: 0 2px;
30+
padding: 0 5px;
31+
}
32+
33+
.markdown-body .highlight pre, .markdown-body pre {
34+
background-color: #F8F8F8;
35+
border: 1px solid #CCCCCC;
36+
border-radius: 3px 3px 3px 3px;
37+
font-size: 13px;
38+
line-height: 19px;
39+
overflow: auto;
40+
padding: 6px 10px;
41+
}
42+
43+
.markdown-body img {
44+
border: 0 none;
45+
}
46+
47+
pre, code, tt {
48+
font-family: Consolas,"Liberation Mono",Courier,monospace;
49+
font-size: 12px;
50+
}
51+
52+
</style>
53+
54+
55+
<script type="text/javascript">
56+
57+
function getDocumentScrollTop()
58+
{
59+
var res = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset || 0;
60+
// alert(res);
61+
return res;
62+
}
63+
64+
function setDocumentScrollTop(ypos)
65+
{
66+
window.scrollTo(0, ypos);
67+
}
68+
69+
</script>
70+
71+
72+
</head>
73+
<body class="markdown-body">
74+
<h1> <a name="user-content-downloads--release-history" class="anchor" href="..md.html#downloads--release-history" aria-hidden="true"><span class="octicon octicon-link"></span></a>Downloads &amp; Release History</h1>
75+
<ol>
76+
<li><a href="http://sourceforge.net/projects/nginx-clojure/files/">Binaries of Releases</a></li>
77+
<li><a href="https://github.com/nginx-clojure/nginx-clojure/releases">Sources of Releases</a></li>
78+
</ol>
79+
<h2> <a name="user-content-025-2014-09-07" class="anchor" href="..md.html#025-2014-09-07" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.2.5 (2014-09-07)</h2>
80+
<ol>
81+
<li>New Feature: Reference variables in jvm_options &amp; different jvm debug ports for jvm processes (issue #42)</li>
82+
<li>New Feature: Server Sent Events(SSE) &amp; Long polling (issue #41, issue #36)</li>
83+
<li>New Feature: Supports 64-bit JDK on 64-bit Windows (issue #40)</li>
84+
<li>New Feature: Coroutine based socket supports JDK8 (issue #39)</li>
85+
<li>New Feature: More easier to archive Sub/Pub services with Broadcast Events to all Nginx workers (issue #39)</li>
86+
<li>New Feature: Asynchronous Channel a wrapper of asynchronous socket to make the usage easier (issue #37)</li>
87+
<li>Enhancement: Fix--On Windows a little many write events happen and these events seem useless (issue #35)</li>
88+
</ol>
89+
<h2> <a name="user-content-024-2014-07-25" class="anchor" href="..md.html#024-2014-07-25" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.2.4 (2014-07-25)</h2>
90+
<ol>
91+
<li>New Feature: Support Groovy - another dynamic jvm language (issue #34)</li>
92+
<li>Fix bug: Slow Memory Leak for Coroutine based Socket bug (issue #32 )</li>
93+
<li>Fix bug: Should Clone ThreadLocals for Coroutines (issue #31)</li>
94+
<li>New Feature: More friendly to java users who maybe know nothing about clojure feature (issue #29)</li>
95+
<li>Five new nginx directives <code>handler_type</code>, <code>handler_name</code>, <code>handler_code</code>, <code>rewrite_handler_name</code>, <code>rewrite_handler_code</code>. Make Clojure/Java/Groovy handler configurations have the same form. e.g. The old pair of nginx directives <code>clojure</code>, <code>clojure_code</code> is equivalent to <code>handler_type='clojure'</code> + <code>handler_code</code>.</li>
96+
</ol>
97+
<h2> <a name="user-content-023-2014-07-05" class="anchor" href="..md.html#023-2014-07-05" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.2.3 (2014-07-05)</h2>
98+
<ol>
99+
<li>Fix issue After invoking on coroutine based socket nginx worker will exit and be recreated when network is disabled (issue #26)</li>
100+
<li>Fix issue PATCH loses the data payload (issue #27)</li>
101+
<li>Support user defined http request method (issue #28 )</li>
102+
<li>Fix issue Nginx worker crashes when to fetch http header &quot;authorization&quot; from request (issue #30)</li>
103+
</ol>
104+
<h2> <a name="user-content-022-2014-05-31" class="anchor" href="..md.html#022-2014-05-31" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.2.2 (2014-05-31)</h2>
105+
<ol>
106+
<li>Fix bug of with Compojure 1.1.5 + Apache Solrj 4.3.0 + httpclient 4.3.2 NPE happens first time then everything is OK (issue #22)</li>
107+
<li>Verifying option for auto generated waving configurations needed by coroutine based socket (issue #23)</li>
108+
</ol>
109+
<h2> <a name="user-content-021-2014-05-17" class="anchor" href="..md.html#021-2014-05-17" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.2.1 (2014-05-17)</h2>
110+
<ol>
111+
<li>Support to close coroutine based socket from non-main thread (issue #19)</li>
112+
<li>Auto generated waving class configurations about Proxy InvocationHandler instance (issue #17 )</li>
113+
<li>Supports auto turn on thread pool mode when turning on Run Tool Mode feature (issue #16 )</li>
114+
<li>Fix bug of reading from coroutine based socket inputstream returns 0 when eof, should return -1 (issue #15)</li>
115+
<li>Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time feature (issue #14)</li>
116+
<li>Support nginx rewrite handler to set var before proxy pass (issue #3)</li>
117+
</ol>
118+
<h2> <a name="user-content-020-2014-04-25" class="anchor" href="..md.html#020-2014-04-25" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.2.0 (2014-04-25)</h2>
119+
<ol>
120+
<li>non-blocking socket based on coroutine and compatible with largely existing java library such as apache http client, mysql jdbc drivers</li>
121+
<li>asynchronous callback API of socket for some advanced usage</li>
122+
<li>run initialization clojure code when nginx worker starting</li>
123+
<li>provide a build-in tool to make setting of coroutine based socket easier</li>
124+
<li>support Linux 32bit x86 now</li>
125+
<li>publish <a href="https://sourceforge.net/projects/nginx-clojure/files/">binary release compiled with lastes stable nginx 1.6.0</a> about Linux x64, Linux i586, Win32 &amp; MacOS X</li>
126+
</ol>
127+
<h2> <a name="user-content-012-2014-02-03" class="anchor" href="..md.html#012-2014-02-03" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.1.2 (2014-02-03)</h2>
128+
<ol>
129+
<li>fix <a href="/nginx-clojure/nginx-clojure/issues/.2.md.html">#2 Problems with HTTP Redirect 302</a> </li>
130+
<li>header names are case-insensitive now.</li>
131+
<li>publish <a href="https://sourceforge.net/projects/nginx-clojure/files/">binary release</a> about Linux x64, Win32 &amp; MacOS X</li>
132+
</ol>
133+
<h2> <a name="user-content-011-2014-01-20" class="anchor" href="..md.html#011-2014-01-20" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.1.1 (2014-01-20)</h2>
134+
<ol>
135+
<li>Supports InputStream, ISeq &amp; recursive ISeq in Response Body. </li>
136+
<li>Auto maintains HTTP last-modified header for multiple files in Response Body</li>
137+
</ol>
138+
<h2> <a name="user-content-010-2014-01-09" class="anchor" href="..md.html#010-2014-01-09" aria-hidden="true"><span class="octicon octicon-link"></span></a>0.1.0 (2014-01-09)</h2>
139+
<ol>
140+
<li>Compitiable with Ring Spec (1.1) </li>
141+
<li>Supports Java Thread Pool for handle request</li>
142+
<li>Fast Static File Service</li>
143+
</ol>
144+
</body>
145+
</html>

.Installation.md.html

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5+
<title>/home/who/git/nginx-clojure.github.io/.Installation.md.html</title>
6+
7+
8+
<style type="text/css">
9+
10+
.markdown-body {
11+
border: 1px solid #CACACA;
12+
padding: 30px;
13+
font-size: 14px;
14+
line-height: 1.6;
15+
}
16+
17+
.markdown-body h2 {
18+
border-bottom: 1px solid #CCCCCC;
19+
}
20+
21+
.markdown-body code {
22+
white-space: nowrap;
23+
}
24+
25+
.markdown-body code, .markdown-body tt {
26+
background-color: #F8F8F8;
27+
border: 1px solid #EAEAEA;
28+
border-radius: 3px 3px 3px 3px;
29+
margin: 0 2px;
30+
padding: 0 5px;
31+
}
32+
33+
.markdown-body .highlight pre, .markdown-body pre {
34+
background-color: #F8F8F8;
35+
border: 1px solid #CCCCCC;
36+
border-radius: 3px 3px 3px 3px;
37+
font-size: 13px;
38+
line-height: 19px;
39+
overflow: auto;
40+
padding: 6px 10px;
41+
}
42+
43+
.markdown-body img {
44+
border: 0 none;
45+
}
46+
47+
pre, code, tt {
48+
font-family: Consolas,"Liberation Mono",Courier,monospace;
49+
font-size: 12px;
50+
}
51+
52+
</style>
53+
54+
55+
<script type="text/javascript">
56+
57+
function getDocumentScrollTop()
58+
{
59+
var res = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset || 0;
60+
// alert(res);
61+
return res;
62+
}
63+
64+
function setDocumentScrollTop(ypos)
65+
{
66+
window.scrollTo(0, ypos);
67+
}
68+
69+
</script>
70+
71+
72+
</head>
73+
<body class="markdown-body">
74+
<h1> <a name="user-content-1-installation" class="anchor" href="..md.html#1-installation" aria-hidden="true"><span class="octicon octicon-link"></span></a>1. Installation</h1>
75+
<p>The lastest release is 0.2.5. Please check the <a href=".HISTORY.md.html">Update History</a> for more details.</p>
76+
<h2> <a name="user-content-11-installation-by-binary" class="anchor" href="..md.html#11-installation-by-binary" aria-hidden="true"><span class="octicon octicon-link"></span></a>1.1 Installation by Binary</h2>
77+
<ol>
78+
<li>First you can download Release 0.2.5 from <a href="https://sourceforge.net/projects/nginx-clojure/files/">here</a>. The zip file includes Nginx-Clojure binaries about Linux x64, Linux i586, Win32, Win64 and Mac OS X.</li>
79+
<li>Unzip the zip file downloaded then rename the file <code>nginx-${os-arc}</code> to <code>nginx</code>, eg. for linux is <code>nginx-linux-x64</code> </li>
80+
</ol>
81+
<h2> <a name="user-content-12-installation-by-source" class="anchor" href="..md.html#12-installation-by-source" aria-hidden="true"><span class="octicon octicon-link"></span></a>1.2 Installation by Source</h2>
82+
<p>Nginx-Clojure may be compiled successfully on Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X x64.</p>
83+
<ol>
84+
<li>First download from <a href="http://nginx.org/en/download.html">nginx site</a> or check out nginx source by hg from <a href="http://hg.nginx.org/nginx">http://hg.nginx.org/nginx</a>. For Win32 users MUST check out nginx source by hg because the zipped source doesn't contain Win32 related code.</li>
85+
<li>Check out Nginx-Clojure source from github OR download the zipped source code from <a href="https://github.com/xfeep/nginx-clojure/releases">https://github.com/xfeep/nginx-clojure/releases</a> </li>
86+
<li>If you want to use Http SSL module, you should install openssl and openssl dev first.</li>
87+
<li> <p>Setting Java header include path in nginx-clojure/src/c/config</p>
88+
<div class="highlight highlight-nginx">
89+
<pre><span class="c1">#eg. on ubuntu</span>
90+
<span class="k">JNI_HEADER_1=&quot;/usr/lib/jvm/java-7-oracle/include&quot;</span>
91+
<span class="s">JNI_HEADER_2=&quot;</span><span class="nv">${JNI_HEADER_1}/linux&quot;</span>
92+
</pre>
93+
</div> </li>
94+
<li> <p>Add Nginx-Clojure module to Nginx configure command, here is a simplest example without more details about <a href="http://wiki.nginx.org/InstallOptions">InstallOptions</a></p>
95+
<div class="highlight highlight-bash">
96+
<pre><span class="c">#If nginx source is checked out from hg, please replace ./configure with auto/configure</span>
97+
<span class="nv">$.</span>/configure <span class="se">\</span>
98+
--add-module<span class="o">=</span>nginx-clojure/src/c
99+
<span class="nv">$ </span>make
100+
<span class="nv">$ </span>make install
101+
</pre>
102+
</div> </li>
103+
<li> <p>Create the jar file about Nginx-Clojure</p> <p>Please check the lein version <code>lein version</code>, it should be at least 2.0.0.</p>
104+
<div class="highlight highlight-bash">
105+
<pre><span class="nv">$ </span><span class="nb">cd </span>nginx-clojure
106+
<span class="nv">$ </span>lein jar
107+
</pre>
108+
</div> <p>Then you'll find nginx-clojure-${version}.jar (eg. nginx-clojure-0.2.5.jar) in the target folder. The jar file is self contained. If your project use clojure it naturally depends on the clojure core jar, e.g clojure-1.5.1.jar. If your project use groovy it naturally depends on the groovy runtime jar, e.g. groovy-2.3.4.jar.</p> </li>
109+
</ol>
110+
</body>
111+
</html>

0 commit comments

Comments
 (0)