Skip to content

Commit fed5fd2

Browse files
committed
for issue #1 when access by HTTPS
1 parent fce0f94 commit fed5fd2

15 files changed

+429
-684
lines changed

.settings/ccw.repl.cmdhistory.prefs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
cmdhistory=["(render-md-file \\"/home/who/git/nginx-clojure.github.io/HISTORY.md\\")" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/Configuration.md\\" )" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/Configuration.md\\" )" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/Configuration.md\\" )" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/HISTORY.md\\")" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/HISTORY.md\\")"]
1+
cmdhistory=["(render-md-file \\"/home/who/git/nginx-clojure.github.io/HISTORY.md\\")" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/Configuration.md\\" )" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/Configuration.md\\" )" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/Configuration.md\\" )" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/HISTORY.md\\")" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/HISTORY.md\\")" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/QuickStart.md\\")" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/CoreFeatures.md\\")" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/Installation.md\\")" "(render-md-file \\"/home/who/git/nginx-clojure.github.io/More.md\\")" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/QuickStart.md\\")" " (render-md-file \\"/home/who/git/nginx-clojure.github.io/UserfullLinks.md\\")"]
22
eclipse.preferences.version=1

CoreFeatures.md.html

+39-102
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,39 @@
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.6, 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>Http Services by using Clojure / Java / Groovy to write simple handlers for http services.</li>
79-
<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>
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-
<p>By the way it is very fast, the benchmarks can be found <a href="https://github.com/ptaoussanis/clojure-web-server-benchmarks">HERE</a> .</p>
94-
<h1> <a name="user-content-license" class="anchor" href="..md.html#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>License</h1>
95-
<p>Copyright &copy; 2013-2014 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p>
96-
<p>This program uses:</p>
97-
<ul>
98-
<li>Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license</li>
99-
<li>Modified Continuations Library Written by Matthias Mann is distributed under the BSD 3-Clause license</li>
100-
</ul>
101-
</body>
102-
</html>
1+
<h1>
2+
<a name="user-content-core-features" class="anchor" href="#core-features" aria-hidden="true"><span class="octicon octicon-link"></span></a>Core Features</h1>
3+
4+
<p>The latest release is v0.2.6, more detail changes about it can be found from <a href="downloads.html">Release History</a>.</p>
5+
6+
<ol>
7+
<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+
<li>Http Services by using Clojure / Java / Groovy to write simple handlers for http services.</li>
9+
<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>
10+
<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.
11+
With this feature one java main thread can handle thousands of connections.</li>
12+
<li>Handle multiple sockets parallel in sub coroutines, e.g. we can invoke two remote services at the same time.</li>
13+
<li>Asynchronous callback API of socket/Channel(<strong><em>NEW</em></strong>) for some advanced usage</li>
14+
<li>
15+
<strong><em>NEW</em></strong>: Long Polling &amp; Server Sent Events</li>
16+
<li>
17+
<strong><em>NEW</em></strong>: More easier to archive Sub/Pub services with broadcast events API</li>
18+
<li>Run initialization clojure code when nginx worker starting</li>
19+
<li>Support user defined http request method</li>
20+
<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>
21+
<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>
22+
<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>
23+
<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>
24+
<li>Supports Linux x64, Linux x86 32bit, Win32, Win64(<strong><em>NEW</em></strong>) and Mac OS X. </li>
25+
</ol>
26+
27+
<p>By the way it is very fast, the benchmarks can be found <a href="https://github.com/ptaoussanis/clojure-web-server-benchmarks">HERE</a> .</p>
28+
29+
<h1>
30+
<a name="user-content-license" class="anchor" href="#license" aria-hidden="true"><span class="octicon octicon-link"></span></a>License</h1>
31+
32+
<p>Copyright © 2013-2014 Zhang, Yuexiang (xfeep) and released under the BSD 3-Clause license.</p>
33+
34+
<p>This program uses:</p>
35+
36+
<ul>
37+
<li>Re-rooted ASM bytecode engineering library which is distributed under the BSD 3-Clause license</li>
38+
<li>Modified Continuations Library Written by Matthias Mann is distributed under the BSD 3-Clause license</li>
39+
</ul>

Installation.md.html

+52-105
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,58 @@
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>
1+
<h1>
2+
<a name="user-content-1-installation" class="anchor" href="#1-installation" aria-hidden="true"><span class="octicon octicon-link"></span></a>1. Installation</h1>
3+
4+
<p>The lastest release is 0.2.5. Please check the <a href="HISTORY.md">Update History</a> for more details.</p>
5+
6+
<h2>
7+
<a name="user-content-11-installation-by-binary" class="anchor" href="#11-installation-by-binary" aria-hidden="true"><span class="octicon octicon-link"></span></a>1.1 Installation by Binary</h2>
8+
9+
<ol>
10+
<li>First you can download Release 0.2.5 from <a href="https://sourceforge.net/projects/nginx-clojure/files/">here</a>.
11+
The zip file includes Nginx-Clojure binaries about Linux x64, Linux i586, Win32, Win64 and Mac OS X.</li>
12+
<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>
13+
</li>
8014
</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>
15+
16+
<h2>
17+
<a name="user-content-12-installation-by-source" class="anchor" href="#12-installation-by-source" aria-hidden="true"><span class="octicon octicon-link"></span></a>1.2 Installation by Source</h2>
18+
19+
<p>Nginx-Clojure may be compiled successfully on Linux x64, Linux x86 32bit, Win32, Win64 and Mac OS X x64.</p>
20+
21+
<ol>
22+
<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>.
23+
For Win32 users MUST check out nginx source by hg because the zipped source doesn't contain Win32 related code.</li>
24+
<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>
25+
</li>
26+
<li>If you want to use Http SSL module, you should install openssl and openssl dev first.</li>
27+
<li>
28+
<p>Setting Java header include path in nginx-clojure/src/c/config</p>
29+
30+
<div class="highlight highlight-nginx"><pre><span class="c1">#eg. on ubuntu</span>
31+
<span class="k">JNI_HEADER_1="/usr/lib/jvm/java-7-oracle/include"</span>
32+
<span class="s">JNI_HEADER_2="</span><span class="nv">${JNI_HEADER_1}/linux"</span>
33+
</pre></div>
34+
</li>
35+
<li>
36+
<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>
37+
38+
<div class="highlight highlight-bash"><pre><span class="c">#If nginx source is checked out from hg, please replace ./configure with auto/configure</span>
9739
<span class="nv">$.</span>/configure <span class="se">\</span>
9840
--add-module<span class="o">=</span>nginx-clojure/src/c
9941
<span class="nv">$ </span>make
10042
<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
43+
</pre></div>
44+
</li>
45+
<li>
46+
<p>Create the jar file about Nginx-Clojure</p>
47+
48+
<p>Please check the lein version <code>lein version</code>, it should be at least 2.0.0.</p>
49+
50+
<div class="highlight highlight-bash"><pre><span class="nv">$ </span><span class="nb">cd </span>nginx-clojure
10651
<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>
52+
</pre></div>
53+
54+
<p>Then you'll find nginx-clojure-${version}.jar (eg. nginx-clojure-0.2.5.jar) in the target folder.
55+
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.
56+
If your project use groovy it naturally depends on the groovy runtime jar, e.g. groovy-2.3.4.jar.</p>
57+
</li>
58+
</ol>

0 commit comments

Comments
 (0)