环境: 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如何区分处理不同的请求。
~* , 不区分大小写 location ~* \ .(gif | jpg | jpeg | png)$ (匹配后缀) |
优先级:等号匹配 > 空匹配 > 普通匹配 > 正则匹配,但 空匹配符如果为 / ,则最后匹配。
这篇文章已经总结的很好了: 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