概述
从这篇博文起,将带领读者们一起领略Nginx的强大。
Nginx 是做什么用的?我相信很多朋友都已经使用过,如果你没有,那么你一定知道以下这些名称之一:Apache,Lighttpd,Tomcat,Jetty。 它们占据了目前Web服务器的几乎全部江山,其中 Apache 是知名度最高的,同时也是最为重量级的。Lighttpd、Tomcat 和 Jetty 相对轻量级,其中 Jetty、Tomcat 多用于作为Java服务器容器。
Nginx 是一个基于 BSD-like 协议、开源、高性能、轻量级的HTTP服务器、反向代理服务器以及电子邮件(SMTP、POP3、IMAP)服务器。Nginx 是由一个俄罗斯的名叫“Igor Sysoev”的软件工程师开发的,最初用于 Rambler.ru 网站(该网站在俄罗斯国内访问量排名第二)。
不多费口舌于这些背景,下面先讲解两条非常简短的 Nginx 的 location 示例。如果你之前没有接触过 Nginx 配置文件,那么目前你看这两个例子可能会有些疑惑,没有关系,这个直观的认识先留在你的脑海里,之后的文章会一步一步带你走进Nginx的世界。
实例
实现 http://a.com/abc
到 http://b.com/abc
在 Nginx 的默认配置文件中的 http 模块的子模块 server 中添加一段代码:
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配置文件的语法内容,如果暂时看不懂,没有关系,不要着急,接下来你会很快学会的。