Nginx 安装
这里简单说下编译安装步骤。
1 | #切换到root执行以下命令 |
更多参考
oninstack nginx安装脚本
https://github.com/lj2007331/oneinstack/blob/master/include/nginx.sh
nginx 源码编译安装:http://nginx.org/en/docs/configure.html
nginx 包安装:http://nginx.org/en/linux_packages.html
Nginx 基础
Nginx 日志
log_format指令用来设置日志的记录格式,它的语法如下:
log_format name format {format …}
其中name表示定义的格式名称,format表示定义的格式样式。
在 format 定义中可以添加 X-Forwarded-For 信息, 用来记录客户的真实 IP。更多信息可参考:https://www.cnblogs.com/kevingrace/p/5893499.html。
例如:nginx 的 负载均衡代理层使用过的一个配置添加一条 log_format:
1 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
然后指定 access_log 的级别为main,即可
1 | access_log logs/www-yunshu-me_access.log main; |
场景应用
静态资源web服务
一些优化配置:
1 | sendfile on|off |
浏览器缓存
- 浏览器缓存校验机制
校验是否过期:Expires、Cache-Control(max-age)
Expires是 http 1.0 定义的,Cache-Controll 是 http1.1 里定义的。
服务器端 Etag 头信息校验:Etag
服务器端 Last-Modified 校验:Last-Modified
配置
1 | expires time #为响应头添加 Last-Modified 头信息 |
跨域访问
允许跨站访问的 nginx 配置
1 | add_header Access-Control-Allow-Origin *; //可以指定特定域名 |
防盗链
基于 http_refer 防盗链配置:
1 | location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ { |
防盗链测试:
1 | //“-I” 表示只返回 http 头信息,“-e”用于指定 referer 头 |
代理服务
正向代理:
场景:使用代理服务器翻墙。
反向代理:

场景:使用反向代理实现负载均衡
正向代理和反向代理的区别:
代理的对象不一样,正向代理代理的是客户端,为了客户端能访问目标网站。反向代理的对象是服务端,代理设置是在服务端的,为了服务端能返回客户端所需数据。
配置实例:
反向代理:
1 | //当服务器接受到请求后,将请求发送到 8080 端口。 |
正向代理:
1 | server |
nginx 实现正向代理上网,有三个关键点必须注意,其余的配置跟普通的nginx一样
1.增加dns解析resolver
2.增加无 server_name 名的 server
3.proxy_pass指令
正向代理测试:
curl设置代理访问: curl -x ip:82 test.com
wget设置代理访问 wget -Y on -e “http_proxy=http://ip:82“ “test.com”
代理配置更多配置参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html
