<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><span style="color: rgb(51, 51, 51); font-family: Arial, sans-serif; font-size: 14px;">Hi </span><span style="font-family: Arial, sans-serif; font-size: 14px;">Maxim Dounin, I'm glad to receive your reply.</span></p>
<div dir="ltr" style="font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif">
<div>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
The nginx directories are as follow:</p>
<div class="code panel pdl conf-macro output-block" style="background-color:rgb(255,255,255); margin:10px 0px; padding:0px; color:rgb(51,51,51); border:1px solid rgb(204,204,204); overflow:auto; font-family:Arial,sans-serif; font-size:14px">
<div class="codeContent panelContent pdl" style="margin:0px; padding:0px; line-height:20px; overflow:hidden">
<div style="margin:0px; padding:0px">
<div id="highlighter_575327" class="syntaxhighlighter sh-confluence nogutter  java" style="margin:0px; padding:0px; width:827px; overflow:auto; font-size:1em">
<table border="0" cellpadding="0" cellspacing="0" style="background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:827px; font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; min-height:inherit">
<tbody style="background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">
<tr style="background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">
<td class="code" style="border:0px; background:0px center; overflow:visible; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; padding:0px 0px 0px 15px; position:static; right:auto; top:auto; vertical-align:baseline; width:812px; min-height:inherit">
<div class="container" title="Hint: double-click to select code" style="margin:15px 0px 0px; padding:0px 0px 15px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:pre-wrap">
<div class="line number1 index0 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">auto</code></div>
<div class="line number2 index1 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">conf</code></div>
<div class="line number3 index2 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">contrib</code></div>
<div class="line number4 index3 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">docs</code></div>
<div class="line number5 index4 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">misc</code></div>
<div class="line number6 index5 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">objs</code></div>
<div class="line number7 index6 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">src</code></div>
<div class="line number8 index7 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-core</code></div>
<div class="line number9 index8 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-event</code></div>
<div class="line number10 index9 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-http</code></div>
<div class="line number11 index10 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-mail</code></div>
<div class="line number12 index11 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-misc</code></div>
<div class="line number13 index12 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-os</code></div>
<div class="line number14 index13 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-stream</code></div>
<div class="line number15 index14 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-thrift</code></div>
<div class="line number16 index15 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">  </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">|-modules</code></div>
</div>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
</div>
</div>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<span style="background-color:rgb(255,255,255)"><br>
Just like supporting tcp proxy, we developed a series of modules to support thrift protocol proxying.</span></p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<span style="background-color:rgb(255,255,255)">No matter using or compiling, these modules are optional.</span></p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<span class="inline-comment-marker valid"><br>
</span></p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
Config example:</p>
<div class="code panel pdl conf-macro output-block" style="background-color:rgb(255,255,255); margin:10px 0px; padding:0px; color:rgb(51,51,51); border:1px solid rgb(204,204,204); overflow:auto; font-family:Arial,sans-serif; font-size:14px">
<div class="codeContent panelContent pdl" style="margin:0px; padding:0px; line-height:20px; overflow:hidden">
<div style="margin:0px; padding:0px">
<div id="highlighter_726369" class="syntaxhighlighter sh-confluence nogutter  java" style="margin:0px; padding:0px; width:827px; overflow:auto; font-size:1em">
<table border="0" cellpadding="0" cellspacing="0" style="background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:827px; font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; min-height:inherit">
<tbody style="background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">
<tr style="background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">
<td class="code" style="border:0px; background:0px center; overflow:visible; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; padding:0px 0px 0px 15px; position:static; right:auto; top:auto; vertical-align:baseline; width:812px; min-height:inherit">
<div class="container" title="Hint: double-click to select code" style="margin:15px 0px 0px; padding:0px 0px 15px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:pre-wrap">
<div class="line number1 index0 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">worker_rlimit_nofile </code><code class="java value" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,153,0)!important">204800</code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">;</code></div>
<div class="line number2 index1 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">worker_processes </code><code class="java value" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,153,0)!important">1</code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">;</code>​<br>
</div>
<div class="line number4 index3 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">error_log 
 logs/error.log error;</code></div>
<div class="line number5 index4 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">pid       
 run/nginx.pid;</code></div>
<div class="line number8 index7 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">http{</code></div>
<div class="line number9 index8 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">    </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">...</code></div>
<div class="line number10 index9 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">}</code><br>
</div>
<div class="line number13 index12 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">thrift
 {</code></div>
<div class="line number14 index13 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">    </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">access_log
 logs/access.log;</code><br>
</div>
<div class="line number14 index13 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<br>
</div>
<div class="line number17 index16 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">    </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">server
 {</code></div>
<div class="line number18 index17 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">        </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">listen </code><code class="java value" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,153,0)!important">8000</code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">;</code></div>
<div class="line number19 index18 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">        </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">server_name
 counter; # counter is service name in thrift request</code><br>
</div>
<div class="line number21 index20 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">        </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">location
 ping {      # ping is method name in thrift request</code></div>
<div class="line number22 index21 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">            </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">proxy_pass
 ua;</code></div>
<div class="line number23 index22 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit"> ​       </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">}</code></div>
<div class="line number24 index23 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">    </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">}</code></div>
<div class="line number24 index23 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important"><br>
</code></div>
<div class="line number27 index26 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">    </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">upstream
 ua {</code></div>
<div class="line number28 index27 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">        </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">server </code><code class="java value" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,153,0)!important">127.0</code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">.</code><code class="java value" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,153,0)!important">0.1</code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">:</code><code class="java value" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,153,0)!important">8003</code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">;</code></div>
<div class="line number29 index28 alt2" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java spaces" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit">    </code><code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">}</code></div>
<div class="line number30 index29 alt1" style="margin:0px; padding:0px 1em 0px 0px; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; outline:0px; overflow:visible; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; white-space:nowrap">
<code class="java plain" style="font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace; background:0px center; border:0px; bottom:auto; float:none; height:auto; left:auto; line-height:20px; margin:0px; outline:0px; overflow:visible; padding:0px; position:static; right:auto; top:auto; vertical-align:baseline; width:auto; min-height:inherit; color:rgb(0,0,0)!important">}​</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<br>
Most of our codes are placed in thrift directory, which consists of 1 core module:</p>
<ol style="background-color:rgb(255,255,255); margin:10px 0px 0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<li>ngx_thrift_core_module </li></ol>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
and other functional modules:</p>
<ol style="background-color:rgb(255,255,255); margin:10px 0px 0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<li>
<p style="margin-right:0px; margin-left:0px; padding:0px">ngx_thrift_upstream_module</p>
</li><li>ngx_thrift_proxy_module</li><li>ngx_thrift_log_module</li><li>ngx_thrift_upstream_check_module£ºtcp active health check </li><li>ngx_thrift_upstream_keepalive_module</li><li>ngx_http_dynamic_upstream_module : using http request to change nginx upstream endpoint without reload nginx conf</li><li>ngx_thrift_limit_req_module</li><li>ngx_thrift_dynamic_req_module: dispatching request to different upstream accoding to request content</li></ol>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<span style="background-color:rgb(255,255,255)">The only things </span><span style="background-color:rgb(255,255,255)">we change in original nginx are:</span></p>
<ol style="background-color:rgb(255,255,255); margin:10px 0px 0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<li>build script in auto directory to support compile thrift proxy core framework code into nginx</li><li>macro constance like "#define NGX_LOG_DEBUG_THRIFT 0x800" in ngx_log.h, which is non-logical</li></ol>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
Otherwise, we developed a standalone thrift procotol encoder/decoder and we preliminarily plan to publish it independently, which will be imported in nginx as a third party lib.</p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<strong>Do you think out thoughts are feasible? We are really looking forward for suggestions and opinions.</strong></p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
By the way, must out codes support other OS like Windows or other event mechanics like poll, select, kqueue?</p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
<br>
</p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
Thanks!</p>
<p style="margin-top:10px; margin-right:0px; margin-left:0px; background-color:rgb(255,255,255); padding:0px; color:rgb(51,51,51); font-family:Arial,sans-serif; font-size:14px">
Junjie Wei<br>
</p>
<p><br>
</p>
</div>
</div>
</body>
</html>