Nginx 笔记

安装

环境: Ubuntu 14.04, 源码安装

http://nginx.org 下载最新版 nginx 源码包。

tar -zvxf nginx-1.16.tar.gz
cd nginx-1.16.tar.gz
./configure
# 缺少 REPC 库
# sudo apt-get install libpcre3 libpcre3-dev
make 
sudo make install

# 启动
cd /usr/local/nginx
sbin/nginx   

浏览 localhost, 即可看到欢迎界面了。

查看帮助: sbin/nginx -h

关闭: sbin/nginx -s quit

重新载入: sbin/nginx -s reload

默认的文档根目录在 html下, 日志在 log下,配置在 conf 下, 以上都是相对目录,pwd 为 /usr/local/nginx

配置

网站配置在 http -> server 下,可以配置多个server, 每一个server配置一个唯一的端口即 listen 的值。

重点记录下 location 匹配规则,它代表nginx如何区分处理不同的请求。

优先级:等号匹配 > 空匹配 > 普通匹配 > 正则匹配,但 空匹配符如果为 / ,则最后匹配。

这篇文章已经总结的很好了: http://www.nginx.cn/115.html

请求响应处理

Nginx 也支持一些脚本的处理,比如进行跨域处理:

location / {
  if ($http_origin != "") { // 如果请求头中‘Origin’不为空
      add_header Access-Control-Allow-Origin *;
  }
  if ($http_origin ~* "http://(.+)?(google|chiyiw).com"){
	 add_header Access-Control-Allow-Origin $http_origin;
  }
}

配置代理:

server {
    location / {
        proxy_pass http://localhost:8080;
    }
}

其它更多用到的是否再记录。

参考:http://www.cnblogs.com/languoliang/archive/2013/04/01/nginx.html