这里总结一下Nginx常用的一些配置文件,并加以说明,方便日后在工作中参考使用。
下面大部分的都是google出来的资料,加了一些自己的理解和配置。
仅供参考,如有错误希望大家积极指出。
nginx.conf
1 | #定义Nginx运行的用户和用户组 |
静态虚拟主机配置
1 | server { |
proxy.conf 反向代理配置
1 | proxy_redirect off; |
PHP虚拟主机
1 | server { |
屏蔽特定浏览器
搞过前端的估计都碰到最头疼的问题就是浏览器兼容性问题了,特别是针对IE浏览器。往往前端为了省事就搞一个页面提示用户升级浏览器或者显示简单的静态页面。那接下来就需要运维来配置nginx rewrite规则了。
在这里直接贴出配置实例
1 | server { |
解释一下上面的配置
$http_user_agent 客户端agent信息(这个是浏览器的标识,如果你开了访问日志的话,可以去看一下。每种浏览器的标识可能都不一样。)
~* 使用正则表达式,并且不区分大小写
MSIE [6,7].[0-9] MSIE-IE浏览器的标识,这里匹配的是IE浏览器在版本在6到9的,例如6.1,7.0,8.2等等···
rewrite /ie6.html 只要匹配则返回指定的静态页面
break 停止执行当前这一轮的ngx_http_rewrite_module指令集
如果需要验证是否生效的话,这里提供一个比较方便的工具 IETester,可以模拟IE任意版本的浏览器来测试
反向代理nodejs
server {
listen 80;
server_name www.domain.com;
root /www/www.domain.com; #定义服务器的默认网站根目录位置
index index.html index.htm; #定义首页索引文件的名称
access_log logs/www.domain.com.access.log;
location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|static/|robots.txt|humans.txt|favicon.ico) {
root /www/www.domain.com/public ;
access_log off;
expires 1d;
}
location / {
include proxy.conf;
proxy_pass http://10.169.135.22:5100;
}
nginx日志切割
1 | #/bin/bash |
nginx全局变量
1 | args #这个变量等于请求行中的参数。 |