1. 云栖社区>
  2. >
  3. 正文

又一枚神器:nginx

作者:用户 来源:互联网 时间:2018-09-10 15:06:02

爬虫安全nginx缓存负载均衡tool

又一枚神器:nginx - 摘要: 本文讲的是又一枚神器:nginx,    一直听说过nginx的大名,也自己装过,但是未直接使用其各种牛X的功能。    今天试用了一下,只能用两字感叹:牛逼。比如它提供的配置检查功能,真是贴心极了,又比如我想要的静态内容浏览器端缓存功能,动态内容转发

   一直听说过nginx的大名,也自己装过,但是未直接使用其各种牛X的功能。

   今天试用了一下,只能用两字感叹:牛逼。比如它提供的配置检查功能,真是贴心极了,又比如我想要的静态内容浏览器端缓存功能,动态内容转发功能,都极其简单,不得不感叹啊。

   我们先来看看nginx的各种能力,然后列出一些收集的nginx各项能力的配置以及一些调优的文章,供日后备用。

   nginx我就不介绍了,大家都知道。其工作原理参考这里,里面也讲了nginx的模块开发http://blog.codinglabs.org/articles/intro-of-nginx-module-development.html

   安装也略过,apt-get可以轻松搞定。

   nginx的能力一览:

   1. 负载均衡

   2. 反向代理:整合后端的各种服务器和语言(PHP, PERL, TOMCAT),反向代理缓存,静态内容浏览器缓存,动静分离

   3. 安全:防盗链,防爬虫,HTTPS

   4. 其它:同memcache结合干各种层次的缓存,限速,自动裁剪图片,请求合并,集成lua,玩法太多了……

   这边列举一些常见的配置(均来源于网上),方便日后使用:

   nginx配置测试(假设nginx已经加入path,下同): nginx -t

   nginx平滑重启:首先找到master processor的pid,简单点用ps -ef | grep nginx,然后kill -HUP pid

   负载均衡

http   
{  
  upstream  myserver {  
    server   192.168.12.181:80 weight=3 max_fails=3 fail_timeout=20s;  
    server   192.168.12.182:80 weight=1 max_fails=3 fail_timeout=20s;  
    server   192.168.12.183:80 weight=4 max_fails=3 fail_timeout=20s;  
  }  
 
  server  
  {  
    listen       80;  
    server_name  www.domain.com 192.168.12.189;  
    index index.htm index.html;  
    root  /ixdba/web/wwwroot;    
 
location / {  
 proxy_pass http://myserver;  
 proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;  
 include    /opt/nginx/conf/proxy.conf;  
 }  
  }  
}  
 

   虚拟主机

http {  
 server {  
 listen          80;  
 server_name     www.domain1.com;  
 access_log      logs/domain1.access.log main;  
 location / {  
 index index.html;  
 root  /web/www/domain1.com/htdocs;  
 }  
  }  
 server {  
 listen          80;  
 server_name     www.domain2.com;  
 access_log      logs/domain2.access.log main;  
 location / {  
 index index.html;  
 root  /web/www/domain2.com/htdocs;  
 }  
  }  
  include    /opt/nginx/conf/vhosts/www.domain2.com.conf;  
}  
server {  
 listen          80;  
 server_name     www.domain3.com;  
 access_log      logs/domain3.access.log main;  
 location / {  
 index index.html;  
 root  /web/www/domain3.com/htdocs;  
 }  
  }  

    反向代理,整合tomcat

location / {
                        proxy_pass http://localhost:8080;
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forworded-For $proxy_add_x_forwarded_for;
                        proxy_connect_timeout 90;
                        proxy_send_timeout 90;
                        proxy_read_timeout 90;
                        proxy_buffer_size 4k;
                        proxy_buffers 4 32k;
                        proxy_busy_buffers_size 64k;
                        proxy_temp_file_write_size 64k;
                }

   反向代理,分离静态页面,并设置静态页面缓存时间(if-modify-since)

location /img/ {
                        alias /www/root/img/;
                        expires 10d;
                }

  设置Cache-Control

add_header    Cache-Control  max-age=3600;

   安全,防盗链

location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ {  
        valid_referers none blocked *.ixdba1.net ixdba1.net;  
        if ($invalid_referer) {  
        rewrite ^/ http://www.ixdba.net/img/error.gif;  
        #return 403;  
       }  
        }  
        location /images {  
        root /opt/nginx/html;  
        valid_referers none blocked *.ixdba1.net ixdba1.net;  
        if ($invalid_referer) {  
                   return   403;  
                                }  
                        }  

    安全,HTTPS http://nginx.org/cn/docs/http/configuring_https_servers.html


   持续添加中……

   nginx优化,突破10w并发http://www.howtocn.org/nginx:%E9%85%8D%E7%BD%AE%E4%B8%80%E4%B8%AA%E9%AB%98%E6%80%A7%E8%83%BD%E7%9A%84nginx_fastcgi%E6%9C%8D%E5%8A%A1%E5%99%A8

   nginx原理分析 http://tengine.taobao.org/book/chapter_02.html

   nginx的坑 https://blog.coding.net/blog/tips-in-configuring-Nginx-location

   nginx location配置规则 http://seanlook.com/2015/05/17/nginx-location-rewrite/

   nginx location语法规则 http://denglz.blog.51cto.com/3617037/1341841

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索爬虫 , 安全 , nginx , 缓存 , 负载均衡 tool ,以便于您获取更多的相关知识。