小Q:生活从来都不容易,当你觉得容易的时候,肯定有人再替你承担属于你的不
容易;而身为我们的我们,应该扛起那些不容易,至少至少要扛起自己的。
同样的说法,nginx配置是比Apache简单,所以可以称为新一代的主流;紧接着上一节,我们还有几个配置要说一下。期间千万要配置完之后检查・加载,有时候出的错累积太多,真的都不想去检查,但是工作中有必须得去检查。
配置静态缓存文件:
【后有截图】
第一加快响应速度;第二节省我们带宽。
进入虚拟主机配置文件:
vim /usr/local/nginx/conf/vhosts/test.conf
在先前配置的不记录图片等类型日志模块内,添加
expires 15d; 缓存15天
另外增加模块,缓存js 和 css 样式文件
(都是做web编程的。css是定义网页的样式的,js是一些特效,就是java script.)
location ~ \.(js|css) {
access_log off; 不记录日志
expires 2h; 缓存两小时
}
检测: /usr/local/nginx/sbin/nginx -t
重加载: /etc/init.d/nginx reload
/usr/local/nginx/sbin/nginx -s reload
检验:curl -x127.0.0.1:80 ‘任意缓存文件的衔接’ -I
防盗链:
【后有截图】
构建LAMP章节有细述,主要为了防止我们的图片等文件被别人盗用
进入主配置文件・・・・・・・・・・・・・
因为我们主要是防止图片视频等盗用,所以直接在location 模块下添加配置
valid_referers none blocked .*test.com .*aaa.com .*bbb.com;
if ($invalid_referer) { 只要是以上面三个开头的都返回403
return 403;
}
配制方法比Apache简单得多
检测:
重加载:
检验:curl -e "http://www.baidu.com" -I -x127.0.0.1:80 "我们图片的衔接"
输出403 ,去掉 -e则显示200
curl -e "http://www.aaa.com" -I -x127.0.0.1:80 "我们图片的衔接" 可以
nginx访问控制:
【后有截图】
有时我们会发现有IP一直攻击我们,我们要把他加入黑名单,保护网站;
或者比如我们的管理后台需要重点保护,我们可以设置白名单的方式,只允许我们自己访问,更安全。
进入虚拟主机配置文件:
vim /usr/local/nginx/conf/vhosts/test.conf
将原本设置的后台管理的用户认证两行去掉,设置白名单
allow 127..0.0.1;
这属于局部的,我们也可以设置全局的;
他不像Apache一样用order控制先访问谁,它会从上到下全部执行一遍;
检测: /usr/local/nginx/sbin/nginx -t
重加载:/etc/init.d/nginx reload
/usr/local/nginx/sbin/nginx -s reload
同时我们也可以针对目录添加 location 进行设置黑白名单。
禁止指定的user_agent:
【后有截图】
主要是为了防止各个网站的爬虫占用网站的资源。
进入虚拟主机配置文件・・・・・・・・・・・・
配置文件中添加:
if ($http_user_agent ~* 'curl|baidu|1111')
{
return 403;
}
检测: /usr/local/nginx/sbin/nginx -t
重加载: /usr/local/nginx/sbin/nginx -s reload
检验: curl -A "jgdjdd1111gbf.fgbf" -x127.0.0.1:80 www.test.com
curl -A "jgdjdd11gbf.fgbf" -x127.0.0.1:80 www.test.com
nginx代理详解:
有时我们需要指定一个代理服务器(IP)去访问一个我们不能访问的网站;比如说现在香港和外国都可以访问谷歌,而我们不行,我们就可以指定一个香港的代理去访问谷歌;或者西藏方面无法访问百度,我们可以设置一下。
进入虚拟主机目录(即vhosts下):
新建代理配置文件
touch proxy.conf
写入:
server {
listen 80;
server_name www.baidu.com;
location / {
proxy_pass http://61.135.169.121/;
#proxy_set_header Host $host; 指定多个IP时添加
}
检测 : /usr/local/nginx/sbin/nginx -t
重加载: /usr/local/nginx/sbin/nginx -s reload
/etc/init.d/nginx reload
查看域名解析的哪个IP:
dig www.baidu.com 要安装:yum install bind*
也可以指定多个IP:
反向代理扩展:
http://liuyu.blog.51cto.com/183345/166381/
匹配规则扩展:
http://blog.sina.com.cn/s/blog_97688f8e0100zws5.html
虚拟主机配置种类 :
http://19001989.blog.51cto.com/3447586/702374
nginx配置详解扩展:
http://www.cnblogs.com/lost-1987/articles/3368115.html
截图: