nginx首先确定使用哪一個server域來處理請求,下面的例子中有3個虛拟伺服器監聽*:80端口。
<code>server {</code>
<code>listen 80;</code>
<code>server_name nginx.org www.nginx.org;</code>
<code>...</code>
<code>}</code>
<code>server_name nginx.net www.nginx.net;</code>
<code>server_name nginx.com www.nginx.com;</code>
<code>在上面的配置中,nignx會根據HTTP請求“Host”的值,确定具體哪一個server接收web請求。如果“Host”不存在或者Host的值無法比對任何sever中的$server_name,nginx就會把web請求送到預設的server中。如果沒有定義default_server,預設将 請求傳遞給第一個server。</code>
<code>預設server的配置方法如下:</code>
<code></code>
<code> </code><code>listen 80 default_server;</code>
<code> </code><code>server_name nginx.net www.nginx.net;</code>
<code> </code><code>...</code>
<code> </code><code>listen 192.168.1.1:80;</code>
<code> </code><code>server_name nginx.org www.nginx.org;</code>
<code> </code><code>listen 192.168.1.2:80;</code>
<code> </code><code>server_name nginx.com www.nginx.com;</code>
<code>上面的配置中,nginx首先比對IP位址和端口,然後在确定響應IP下的server_name,如果沒有找到任何比對的 server_name,ngixn将請求傳遞給預設server。例如,當nginx收到來自 192.168.1.1:80 端口的請求www.nginx.com(無法比對192.168.1.1下的任何一個server_name),</code>上例中沒有定義默server,那麼這個請求将被傳遞到第一個server中。
預設server的配置方法如下:
備注:nginx可以為不同的IP位址和端口定義多個預設server
eg:
<code> </code><code>listen 192.168.1.1:80;</code>
<code> </code><code>server_name nginx.org www.nginx.org;</code>
<code> </code><code>listen 192.168.1.1:80 default_server;</code>
<code> </code><code>server_name nginx.net www.nginx.net;</code>
<code> </code><code>listen 192.168.1.2:80 default_server;</code>
<code> </code><code>server_name nginx.com www.nginx.com;</code>
待補充。。。。。
本文轉自 Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1610734