欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx的優(yōu)化、安全與防盜鏈實(shí)例詳解

 更新時間:2022年10月08日 12:01:59   作者:站在這別動,我去給你買橘子  
防止盜鏈不僅能保護(hù)版權(quán),又節(jié)約了不少流量,下面這篇文章主要給大家介紹了關(guān)于Nginx優(yōu)化、安全與防盜鏈的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

1.Nginx的頁面優(yōu)化

1.1 Nginx的網(wǎng)頁壓縮 

 在Nginx的ngx_http_gzip_module壓縮模塊提供對文件內(nèi)容壓縮的功能。進(jìn)行相關(guān)的配置修改,就能實(shí)現(xiàn)Nginx頁面的壓縮,達(dá)到節(jié)約帶寬,提升用戶訪問速度

 vim /usr/local/nginx/conf/nginx.conf
http {
..........
gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 64k;
    gzip_http_version 1.1; 
    gzip_comp_level 6;
    gzip_vary on;
gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;
}

重啟服務(wù),進(jìn)行訪問測試:

1.2  配置Nginx的圖片緩存 

當(dāng)Nginx將網(wǎng)頁數(shù)據(jù)返回給客戶端后,可設(shè)置緩存的時間,以方便在日后進(jìn)行相同內(nèi)容的請求時直接返回,避免重復(fù)請求,加快了訪問速度。

一般針對靜態(tài)網(wǎng)頁設(shè)置,對動態(tài)網(wǎng)頁不設(shè)置緩存時間。

 vim /usr/local/nginx/conf/nginx.conf
http {
.................
 location ~* \.(gif|jpg|jepg|bmp|ico)$ {
             root html;
             expires 1d;             
         }
}

重啟服務(wù),測試訪問: 

1.3  Nginx的連接超時設(shè)置 

  • HTTP有一個KeepAlive模式,它告訴web服務(wù)器在處理完一個請求后保持這個TCP連接的打開狀態(tài)。若接收到來自同一客戶端的其它請求,服務(wù)端會利用這個未被關(guān)閉的連接,而不需要再建立一個連接。
  • KeepAlive 在一段時間內(nèi)保持打開狀態(tài),它們會在這段時間內(nèi)占用資源。占用過多就會影響性能。
  • 在企業(yè)網(wǎng)站中,為了避免同一個客戶長時間占用連接,造成資源浪費(fèi),可設(shè)置相應(yīng)的連接超時參數(shù),實(shí)現(xiàn)控制連接訪問時間??梢孕薷呐渲梦募?nginx.conf,設(shè)置 keepalive_timeout超時。
vim /usr/local/nginx/conf/nginx.conf
 http {
 ...... 
     keepalive_timeout 65 180;       //設(shè)置連接超時時間    
     client_header_timeout 80;
     client_body_timeout 80;
 ...... 
 }
  • 指定KeepAlive的超時時間(timeout) 。指定每個TCP連接最多可以保持多長時間,服務(wù)器將會在這個時間后關(guān)閉連接。
  • Nginx的默認(rèn)值是65秒,有些瀏覽器最多只保持60秒,所以可以設(shè)定為60秒。若將它設(shè)置為0,就禁止了keepalive 連接。
  • 第二個參數(shù)(可選的)指定了在響應(yīng)頭Keep-Alive: timeout=t ime中的time值。這個頭能夠讓一 些瀏覽器主動關(guān)閉連接,這樣服務(wù)器就不必去關(guān)閉連接了。沒有這個參數(shù),Nginx 不會發(fā)送Keep- Alive 響應(yīng)頭。

 重啟服務(wù),訪問測試:

1.4 Nginx的并發(fā)設(shè)置

在高并發(fā)場景,需要啟動更多的Nginx進(jìn)程以保證快速響應(yīng),以處理用戶的請求,避免造成阻塞。

查看cpu的核心數(shù),根據(jù)核心數(shù)來設(shè)置工作進(jìn)程數(shù)

 #1、查看cpu核數(shù)
 cat /proc/cpuinfo |grep processor|wc -l
 或
 cat /proc/cpuinfo |grep -c processor
 或
 cat /proc/cpuinfo | grep -c "physical id"
 

[root@localhost html]#ps aux | grep nginx

修改工作進(jìn)程核心數(shù) :

vim /usr/local/nginx/conf/nginx.conf
 worker_processes  2;        #修改為與CPU核數(shù)相同
 worker_cpu_affinity 01 10;  #設(shè)置每個進(jìn)程由不同cpu處理,進(jìn)程數(shù)配為4時0001 0010 0100 1000
 ?

測試結(jié)果:

[root@localhost html]#ps aux | grep nginx

2.Nginx的頁面安全

 ——隱藏Nginx的版本號  

2.1 查看Nginx版本的方式

方式一:curl模擬訪問獲取

[root@localhost ~]#curl -I 192.168.73.105

方式二:瀏覽器訪問查看 

 火狐訪問瀏覽器 ,F(xiàn)12查看網(wǎng)絡(luò)信息

2.2 隱藏版本號 

方法一:修改配置文件,關(guān)閉版本號 

 vim /usr/local/nginx/conf/nginx.conf
 http {
     include       mime.types;
     default_type  application/octet-stream;
     server_tokens off;      #添加這一行,關(guān)閉版本號
     ......
 }
 

 測試結(jié)果:

 方法二:修改源碼文件中的版本號,重新編譯安裝

cd /opt/nginx-1.12.0/src/core/
#修改前進(jìn)行備份
cp nginx.h  nginx.h.bak
 
vimn ginx.h
 
#define NGINX_VERSION      "1.12.0"
#define NGINX_VER          "nginx/" NGINX_VERSION

修改完配置后切換到Nginx軟件包中,進(jìn)行重新編譯安裝 :

cd /opt/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
 
make -J 2 && make install

再次修改主配置文件,打開版本號顯示 :

vim /usr/local/nginx/conf/nginx.conf
 http {
     include       mime.types;
     default_type  application/octet-stream;
     server_tokens on;
     ......
 }
 

 重啟服務(wù),進(jìn)行測試:

3.Nginx的日志分割

Nginx與apache的不同之處,就是Nginx本身并為設(shè)計日志分割工具,所以需要運(yùn)維人員進(jìn)行腳本編寫來實(shí)現(xiàn)日志分割

編寫日志分割腳本 

cd /opt
vim cutlogs.sh
 
#!/bin/bash
 
#nginx 分割日志腳本
#用變量day獲取前天日期的時間記錄
day=$(date -d "-1 day" "+%Y%m%d")
#獲取日志的目錄
logs_path="/var/log/nginx"
#獲取運(yùn)行時nginx的進(jìn)程號
pid_path="/usr/local/nginx/logs/nginx.pid"
#二元表達(dá)式,如果前面不成立則執(zhí)行后面的式子
#前面判斷該目錄是否存在,后面則表示不存在則自動創(chuàng)建該目錄
[ -d $logs_path ] || mkdir -p $logs_path
#將生成的日志按照date生成的時間格式改名并移動到指定的路徑中保存
mv /usr/local/nginx/logs/access.log ${logs_path}/access.log-$day
#重新生成一個新的日志
kill -USR1 $(cat $pid_path)
#日志文件清理,將30天前的日志進(jìn)行清除
find $logs_path -mtime +30 -exec rm -rf {} \ ;

2. 執(zhí)行腳本進(jìn)行測試

3. 將日志腳本添加至計劃性任務(wù)

[root@localhost opt]#vim cutlogs.sh
[root@localhost opt]#chmod +x cutlogs.sh 
[root@localhost opt]#crontab -e
0 1 * * * /opt/cutlogs.sh

4.Nginx防盜鏈

4.1 盜鏈的過程

 Nginx盜鏈的過程與apache一致,均是通過網(wǎng)頁瀏覽,將網(wǎng)站圖片重定向到自己的網(wǎng)站上

http://www.dbjr.com.cn/article/264450.htm

4.2 Nginx防盜鏈的設(shè)置

 修改主配配置文件,添加防盜鏈設(shè)置

 vim /usr/local/nginx/conf/nginx.conf
http {
...........
server{
...........
location ~* \.(jpg|gif|swf)$ {
         root  html;
         expires 1d;
         valid_referers none blocked *.test.com test.com;
         if ( $invalid_referer ) {
           rewrite ^/ http://www.test.com/error.png;
           }
        }
............
}
...............
}

 在 /var/local/nginx/html 下放置好error.png 

進(jìn)行盜鏈測試 

盜鏈主機(jī)html網(wǎng)頁設(shè)置: 

第三方用戶訪問盜鏈主機(jī):

訪問前設(shè)置:

1.關(guān)閉防火墻工具firewalld和selinux

2.將域名對應(yīng)的IP添加到  /etc/hosts 中 

第三方訪問原主機(jī) :

5.fpm參數(shù)優(yōu)化

Nginx的PHP解析功能實(shí)現(xiàn)如果是交由FPM處理的,為了提高PHP的處理速度,可對FPM模塊進(jìn)行參數(shù)的調(diào)整。

根據(jù)服務(wù)器的內(nèi)存與服務(wù)負(fù)載,調(diào)整FPM模塊參數(shù)。

 vim /usr/local/php/etc/php-fpm.conf 
 pid = run/php-fpm.pid
 ?
 vim /usr/local/php/etc/php-fpm.d/www.conf
 --96行--
 pm = dynamic                #fpm進(jìn)程啟動方式,動態(tài)的
 --107行--
 pm.max_children=20          #fpm進(jìn)程啟動的最大進(jìn)程數(shù)
 --112行--
 pm.start_servers = 5        #動態(tài)方式下啟動時默認(rèn)開啟的進(jìn)程數(shù),在最小和最大之間
 --117行--
 pm.min_spare_servers = 2    #動態(tài)方式下最小空閑進(jìn)程數(shù)
 --122行--
 pm.max_spare_servers = 8    #動態(tài)方式下最大空閑進(jìn)程數(shù) ?
 ?
 kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`         #重啟php-fpm
 netstat -anpt | grep 9000

總結(jié)

到此這篇關(guān)于Nginx的優(yōu)化、安全與防盜鏈的文章就介紹到這了,更多相關(guān)Nginx優(yōu)化 安全與防盜鏈內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一句簡單命令重啟nginx

    一句簡單命令重啟nginx

    最近我的多個VPS經(jīng)常出現(xiàn)502錯誤,經(jīng)常需要重啟nginx,但網(wǎng)上的很多教程都需要繁瑣的啟動腳本,遠(yuǎn)不如apache的重啟命令那么簡單。
    2010-03-03
  • nginx proxy_redirect的作用及說明

    nginx proxy_redirect的作用及說明

    這篇文章主要介紹了nginx proxy_redirect的作用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Nginx部署vue項(xiàng)目和配置代理的問題解析

    Nginx部署vue項(xiàng)目和配置代理的問題解析

    這篇文章主要介紹了Nginx部署vue項(xiàng)目和配置代理,需本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,要的朋友可以參考下
    2021-08-08
  • 利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器

    利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器

    本文主要介紹了利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Linux中Nginx的防盜鏈和優(yōu)化的實(shí)現(xiàn)代碼

    Linux中Nginx的防盜鏈和優(yōu)化的實(shí)現(xiàn)代碼

    今天是周末小編在值班哈,很開森,工作使我快樂,本文重點(diǎn)給大家介紹Linux中Nginx的防盜鏈和優(yōu)化問題及實(shí)現(xiàn)代碼,需要的朋友跟隨小編一起看看吧
    2021-06-06
  • Nginx網(wǎng)站服務(wù)過程詳解

    Nginx網(wǎng)站服務(wù)過程詳解

    Nginx是一款高性能、異步非阻塞工作模式、輕量級Web服務(wù)軟件,這篇文章主要介紹了Nginx網(wǎng)站服務(wù)的相關(guān)知識,需要的朋友可以參考下
    2023-06-06
  • 使用Nginx服務(wù)器如何實(shí)現(xiàn)動靜分離和反向代理

    使用Nginx服務(wù)器如何實(shí)現(xiàn)動靜分離和反向代理

    這篇文章主要介紹了使用Nginx服務(wù)器如何實(shí)現(xiàn)動靜分離和反向代理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 在Nginx服務(wù)器上屏蔽IP的一些基本配置方法分享

    在Nginx服務(wù)器上屏蔽IP的一些基本配置方法分享

    這篇文章主要介紹了在Nginx服務(wù)器上屏蔽IP的一些基本配置方法分享,包括對過多訪問的IP配置腳本屏蔽等一些小技巧,的朋友可以參考下
    2015-12-12
  • 利用Nginx代理如何解決前端跨域問題詳析

    利用Nginx代理如何解決前端跨域問題詳析

    這篇文章主要給大家介紹了關(guān)于利用Nginx代理如何解決前端跨域問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 在Nginx服務(wù)器上配置Google反向代理的基本方法

    在Nginx服務(wù)器上配置Google反向代理的基本方法

    這篇文章主要介紹了在Nginx服務(wù)器上配置Google反向代理的基本方法,文中使用到了SSL來加密反向代理,需要的朋友可以參考下
    2015-12-12

最新評論