-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathEmbed.md.html
More file actions
74 lines (61 loc) · 7.45 KB
/
Embed.md.html
File metadata and controls
74 lines (61 loc) · 7.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<h1>
<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>
<p>Embeding Nginx-Clojure into a standard java/clojure app without additional Nginx process.
It can make test/debug with nginx-clojure clojure/java handler quite easy.</p>
<h1>
<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>
<p>For Clojure</p>
<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>
<p>For Java (Maven)</p>
<div class="highlight highlight-text-xml"><pre><<span class="pl-ent">repository</span>>
<<span class="pl-ent">id</span>>clojars.org</<span class="pl-ent">id</span>>
<<span class="pl-ent">url</span>>http://clojars.org/repo</<span class="pl-ent">url</span>>
</<span class="pl-ent">repository</span>></pre></div>
<div class="highlight highlight-text-xml"><pre><<span class="pl-ent">dependency</span>>
<<span class="pl-ent">groupId</span>>nginx-clojure</<span class="pl-ent">groupId</span>>
<<span class="pl-ent">artifactId</span>>nginx-clojure-embed</<span class="pl-ent">artifactId</span>>
<<span class="pl-ent">version</span>>0.5.1</<span class="pl-ent">version</span>>
</<span class="pl-ent">dependency</span>></pre></div>
<h1>
<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>
<p>For Clojure</p>
<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>
<span class="pl-c"><span class="pl-c">;</span>;my-app can be a simple ring hanler or a compojure router.</span>
(<span class="pl-en">run-server</span> my-app {<span class="pl-c1">:port</span> <span class="pl-c1">8080</span>})
<span class="pl-c"><span class="pl-c">;</span>;(2) Start it with a nginx.conf file</span>
(<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>)
<span class="pl-c"><span class="pl-c">;</span>;(3) Start it with a given work dir</span>
(<span class="pl-k">binding</span> [*nginx-work-dir* my-work-dir]
(<span class="pl-en">run-server</span> ...))
<span class="pl-c"><span class="pl-c">;</span>;(4) Stop the server</span>
(<span class="pl-en">stop-server</span>)</pre></div>
<p>For Java</p>
<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>
<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>));
<span class="pl-c"><span class="pl-c">//</span>Start it with with a nginx.conf file</span>
<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>);
<span class="pl-c"><span class="pl-c">//</span>Start it with a given work dir</span>
<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);
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>start(<span class="pl-c1">...</span>);
<span class="pl-c"><span class="pl-c">//</span>Stop the server</span>
<span class="pl-smi">NginxEmbedServer</span><span class="pl-k">.</span>getServer()<span class="pl-k">.</span>stop();</pre></div>
<h1>
<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>
<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>,
<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>,
<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>,
<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>,
<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>,
<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>,
<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>
<p>User defined zones</p>
<div class="highlight highlight-source-clojure"><pre> <span class="pl-c"><span class="pl-c">;</span>;;at nginx.conf top level</span>
<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>,
<span class="pl-c"><span class="pl-c">;</span>;;at nginx.conf http block</span>
<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>,
<span class="pl-c"><span class="pl-c">;</span>;at nginx.conf types mapping block</span>
<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>,
<span class="pl-c"><span class="pl-c">;</span>;at nginx.conf server block</span>
<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>,
<span class="pl-c"><span class="pl-c">;</span>;at nginx.conf location block</span>
<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>