Nginx防盜鏈和FPM模塊優化

配置nginx實現防盜鏈
在企業網站服務中,通常都要配置防盜鏈功能,以免網站內容被非法盜用,形成經濟損失
nginx防盜鏈功能也很是強大。默認狀況下,只須要進行簡單的配置,便可實現放到鏈處理
實驗環境
一臺nginx服務器,一臺測試客戶機,一臺盜鏈機
實驗過程
1.nginx服務器上部署nginx服務
詳細部署過程請查看:http://www.javashuo.com/article/p-qnoedoqg-eb.html
Nginx防盜鏈和FPM模塊優化
nginx部署成功!
2.配置盜鏈機
建立盜鏈機的網頁
Nginx防盜鏈和FPM模塊優化
除非用本地的域名去訪問
若是匹配的是無效的,不然就跳轉一個error.png頁面
配置說明php

  • valid_referers:設置信任的網站,即能引用相應圖片的網站
  • none:瀏覽器中referer爲空的狀況,就是直接在瀏覽器訪問圖片
  • blocked:referer不爲空的狀況,可是值被代理或者防火牆刪除了,這些值不以http://或者https://開頭
  • 後面的網址或者域名referer中包含相關字符串的網址
  • if’語句:若是連接的來源域名再也不valid_referers所列出的列表中,$invalid-referer爲1,則執行後面的操做,即執行重寫或返回403頁面
    [root@localhost ~]# cd /usr/local/nginx/
    [root@localhost nginx]# ls
    client_body_temp  fastcgi_temp  logs        sbin       uwsgi_temp
    conf              html          proxy_temp  scgi_temp
    [root@localhost nginx]# cd html/
    [root@localhost html]# ls
    50x.html  index.html  qq.jpg
    [root@localhost html]# mount.cifs //192.168.254.10/linuxs /abc
    Password for root@//192.168.254.10/linuxs:  
    [root@localhost html]# cd /abc
    [root@localhost abc]# ls
    error.png                         
    [root@localhost abc]# cp error.png /usr/local/nginx/html/
    [root@localhost abc]# cd -
    /usr/local/nginx/html
    [root@localhost html]# ls
    50x.html  error.png  index.html  qq.jpg
    [root@localhost html]# grep "qq.jpg" index.html 
    <img src="qq.jpg">
    [root@localhost html]# service nginx start 
    [root@localhost html]# netstat -natp | grep 80
    tcp        0      0 192.168.247.193:80      0.0.0.0:*               LISTEN      3038/nginx: master

    Nginx防盜鏈和FPM模塊優化
    使用域名,須要使用dns解析服務
    搭建dns詳見我前面的博客
    而後指定盜鏈主機和客戶機的dns服務器
    開始設置盜機
    在win10內打開控制面板,控制面板內打開程序和功能,裏面有開啓或者關閉功能,點擊
    而後點擊internet informatoion servers
    Nginx防盜鏈和FPM模塊優化
    關閉盜機防火牆
    而後客戶端去訪問盜機網站
    Nginx防盜鏈和FPM模塊優化
    Nginx防盜鏈和FPM模塊優化
    盜鏈成功,接下來作防盜鏈操做:html

    [root@localhost html]# vim /usr/local/nginx/conf/nginx.conf
    location ~*\.(jpg|gif|swf)$ {
       valid_referers none blocked *.shl.com shl.com;
        if ( $invalid_referer ) {
             rewrite ^/ http://www.shl.com/error.png;
       }
    }

    重啓nginx服務linux

    [root@localhost named]# service nginx stop
    [root@localhost named]# service nginx start

    Nginx防盜鏈和FPM模塊優化
    防盜鏈配置成功
    FPM優化參數調整示例nginx

  • 優化緣由:服務器爲雲服務器,運行了我的論壇,內存爲1.5G,fpm進程數爲20,內存消耗近1G,處理比較慢
  • 優化參數調整
    FPM啓動時有5個進程,最小空閒2個進程,最大空閒8個進程,最多能夠有20個進程的存在
    [root@localhost ~]# vim /usr/local/php/etc/php-fpm.conf
    pid = run/php-fpm.pid
    pm = dynamic
    pm.max_children=20
    pm.static_servers = 5
    pm.min_spare_servers = 2
    pm.max_spare_servers = 8
相關文章
相關標籤/搜索