第 二 十 二 天 :LNMP 架 构 的 基 本 配 置(二)

小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



wKioL1YT3GXSqI7dAACzknAn4Jo499.jpg



防盗链:

【后有截图】

构建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 进行设置黑白名单。



wKioL1YT3hywaFHUAADCqOuli9o699.jpg




禁止指定的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




wKiom1YT3rXSXH7bAADX1GnJgWI941.jpg







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:

wKioL1YT4dbCem8HAACiVw_WkXU443.jpg



wKioL1YT4lTgPJ_sAADpWZHJOXI822.jpg


反向代理扩展:

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 



截图:



wKioL1YT4jWwFLneAAPekc5LvqI883.jpg











你可能感兴趣的:(linux)