從這篇博文起,將帶領讀者們一塊兒領略Nginx的強大。服務器
Nginx 是作什麼用的?我相信不少朋友都已經使用過,若是你沒有,那麼你必定知道如下這些名稱之一:Apache,Lighttpd,Tomcat,Jetty。 它們佔據了目前Web服務器的幾乎所有江山,其中 Apache 是知名度最高的,同時也是最爲重量級的。Lighttpd、Tomcat 和 Jetty 相對輕量級,其中 Jetty、Tomcat 多用於做爲Java服務器容器。性能
Nginx 是一個基於 BSD-like 協議、開源、高性能、輕量級的HTTP服務器、反向代理服務器以及電子郵件(SMTP、POP三、IMAP)服務器。Nginx 是由一個俄羅斯的名叫「Igor Sysoev」的軟件工程師開發的,最初用於 Rambler.ru 網站(該網站在俄羅斯國內訪問量排名第二)。網站
很少費口舌於這些背景,下面先講解兩條很是簡短的 Nginx 的 location 示例。若是你以前沒有接觸過 Nginx 配置文件,那麼目前你看這兩個例子可能會有些疑惑,沒有關係,這個直觀的認識先留在你的腦海裏,以後的文章會一步一步帶你走進Nginx的世界。google
http://a.com/abc
到 http://b.com/abc
在 Nginx 的默認配置文件中的 http 模塊的子模塊 server 中添加一段代碼:url
location ^~ /hd { rewrite ^/hd/(.*)$ http://www.google.com/$1 permanent; }
http://a.com/msg?url=www.b.com
到 http://www.b.com
location ^~ /img_proxy { set $img_proxy_url ""; set $suffix ""; if ($query_string ~ "url=(.*)") { set $img_proxy_url $1; set $suffix ""; } resolver 208.67.222.222; proxy_pass http://$img_proxy_url/$suffix; proxy_set_header referer "http://$img_proxy_url"; }
上面兩例中有不少Nginx配置文件的語法內容,若是暫時看不懂,沒有關係,不要着急,接下來你會很快學會的。spa