最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx防盜鏈與服務(wù)優(yōu)化配置的全過程

 更新時間:2022年01月13日 15:08:41   作者:羽織歌  
由于Nginx本身的一些優(yōu)點,輕量,開源,易用,越來越多的公司使用nginx作為自己公司的web應(yīng)用服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Nginx防盜鏈與服務(wù)優(yōu)化配置的相關(guān)資料,需要的朋友可以參考下

隱藏nginx版本號

查看版本號

方法一:curl命令

可以在 CentOS 中使用命令 curl -I http://192.168.80.130 顯示響應(yīng)報文首部信息。

curl -I http://192.168.80.130

方法二:在網(wǎng)頁中查看

1. #切換至html目錄,拖一個圖片進去
cd /usr/local/nginx/html
?
2. #在網(wǎng)頁中查看
http://192.168.59.118/game.png

隱藏版本信息

方法一:修改配置文件

1.#修改配置文件
vim /usr/local/nginx/conf/nginx.conf
 
    ```handlebars
http {
    include       mime.types;
    default_type  application/octet-stream;
    server_tokens off;                        #添加,關(guān)閉版本號
    ......
}
 
2.#重啟nginx
systemctl restart nginx
 
3.#查看版本是否被隱藏
curl -I http://192.168.80.130

 

方法二: 修改源碼文件,重新編譯安裝

可以自定義版本號,可以讓人迷惑

1. #切換至nginx安裝包所在目錄
cd /opt/
2. #停止nginx服務(wù)
systemctl stop nginx.service
3. #切換至安裝目錄
cd nginx-1.12.0/
4. #切換至內(nèi)核目錄
cd src/core/
5. #進入配置文件
vim nginx.h
?
#define NGINX_VERSION      "老鐵"
#define NGINX_VER          "666/" NGINX_VERSION
?
6. #切換至文件目錄
cd ../../
?
7. #編譯
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
?
8. #安裝
make && make install -j4
?
9. #將配置文件下的之前關(guān)閉版本信息開啟
vim /usr/local/nginx/conf/nginx.conf
server_tokens on;
?
10. #重啟nginx
systemctl restart nginx
?
11. #查看版本信息
curl -I http://192.168.59.118
?

修改用戶與組

1. #修改配置文件
vim /usr/local/nginx/conf/nginx.conf
?
user  dayu dayu; #取消注釋,修改用戶為 dayu ,組為 dayu
?
2. #創(chuàng)建非登錄用戶
useradd -s /sbin/nologin dayu
?
3. #重啟服務(wù)
systemctl restart nginx
?
4. #查看是否修改成功
ps aux | grep nginx

緩存時間

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

1. #修改配置文件
vim /usr/local/nginx/conf/nginx.conf
        #添加以下內(nèi)容
        location ~ \.(jpg|png|bmp|gif)$ {
            root   html;
            expires 1d;
        }
?
?
2. #查看是否有語法錯誤
nginx -t
?
3. #重啟服務(wù)
systemctl restart nginx.service 
?
4.#在網(wǎng)頁中查看服務(wù)
http://192.168.80.130/good.jpg
?
 Cahce-Control:max-age=86400 表示緩存時間是 86400 秒。
也就是緩存一天的時間,一天之內(nèi)瀏覽器訪問這個頁面,都是用緩存中的數(shù)據(jù),
而不需要向 Nginx 服務(wù)器重新發(fā)出請求,減少了服務(wù)器的使用帶寬。

日志分割

隨著Nginx運行時間的增加,產(chǎn)生的日志也會逐漸增加,為了方便掌握Nginx的運行狀態(tài),需要時刻關(guān)注Nginx日志文件。太大的日志文件對監(jiān)控是一個大災(zāi)難,不便于分析排查,需要定期的進行日志文件的切割。

1. #寫腳本
vim /usr/local/nginx/nginx_log.sh 
?
#!/bin/bash
#this is for divide nginx log
d=$(date +%F -d -1day)                                       #顯示前一天的時間
path="/var/log/nginx"   
pid="/usr/local/nginx/logs/nginx.pid"
?
[ -d $path ] ||mkdir -p $path                                #創(chuàng)建日志文件目錄
mv /usr/local/nginx/logs/access.log ${path}/www.yxp.com-$d   #移動并重命名日志文件
kill -USR1 $(cat $pid)                                       #重建新日志文件
find $path -mtime +30 -delete                                #刪除30天之前的日志文件
?
2. #賦予權(quán)限
chmod +x /usr/local/nginx/nginx_log.sh 
?
3. #計劃任務(wù)
[root@localhost nginx]#crontab -e
?
30 1 * * * /usr/local/nginx/nginx_log.sh

配置Nginx實現(xiàn)連接超時

HTTP有一個KeepAlive模式,它告訴web服務(wù)器在處理完一個請求后保持這個TCP連接的打開狀態(tài)。若接收到來自同一客戶 端的其它請求,服務(wù)端會利用這個未被關(guān)閉的連接,而不需要再建立一個連接。

KeepAlive在一段時間內(nèi) 保持打開狀態(tài),它們會在這段時間內(nèi)占用資源。占用過多就會影響性能。

vim /usr/ local/nginx/conf/nginx. conf
http {
......
keepalive_ timeout 65 180;
client header timeout 80;
client_ body_ timeout 80;
......
}
systemctl restart nginx

keepalive_ timeout

  • 指定KeepAlive的超時時間(timeout) 。指定每個TCP連接最多可以保持多長時間,服務(wù)器將會在這個時間后關(guān)閉連接。
  • Nginx的默認值是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)頭。

client_ header_ timeout

客戶端向服務(wù)端發(fā)送-一個完整的request header 的超時時間。如果客戶端在指定時間內(nèi)沒有發(fā)送一個完整的request header, Nginx返回HTTP 408 (Request Timed Out) 。

client_ body_ timeout

指定客戶端與服務(wù)端建立連接后發(fā)送requestbody的超時時間。如果客戶端在指定時間內(nèi)沒有發(fā)送任何內(nèi)容,Nginx返回HTTP 408 (Request Timed Out )。

更改Nginx運行進程數(shù)

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

更改進程數(shù)的配置方法

修改配置文件,修改進程配置參數(shù)

修改配置文件的worker_processes參數(shù)

  • 一般設(shè)為CPU的個數(shù)或者核數(shù)
  • 在高并發(fā)的情況下可設(shè)置為CPU個數(shù)或者核數(shù)的2倍

增加進程數(shù),可減少系統(tǒng)的開銷,提升服務(wù)速度

使用ps aux查看運行進程數(shù)的變化情況

[root@www conf]# cat /proc/cpuinfo | grep -c "physical"
4
[root@www conf]# vi nginx.conf
worker_ processes 4;
[root@www conf]# systemctl restart nginx
[root@www conf]# ps aux | grep nginx

默認情況,Nginx的多個進程可能跑在一 個CPU上,可以分配不同的進程給不同的CPU處理,充分利用硬件多核多CPU。
在一臺4核物理服務(wù)器,進行配置,將進程進行分配。

[root@www conf]# vi nginx.conf
worker_ processes 4;
worker_ cpu_ affinity 0001 0010 0100 1000;
 
1代表CPU的位置

配置Nginx實現(xiàn)網(wǎng)頁優(yōu)化壓縮功能

  • Nginx的ngx_http_ gzip_module壓縮模塊提供對文件內(nèi)容壓縮的功能
  • 允許Nginx服務(wù)器將輸出內(nèi)容在發(fā)送客戶端之前進行壓縮,以節(jié)約網(wǎng)站帶寬,提升用戶的訪問體驗,默認已經(jīng)安裝
  • 可在配置文件中加入相應(yīng)的壓縮功能參數(shù)對壓縮性能進行優(yōu)化

壓縮功能參數(shù)

1. #修改配置文件
   gzip on;                          #取消注釋,開啟gzip壓縮功能
   gzip_min_length 1k;              #最小壓縮文件大小
   gzip_buffers 4 16k;              #壓縮緩沖區(qū),大小為4個16k緩沖區(qū)
   gzip_http_version 1.1;           #壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)
   gzip_comp_level 6;               #壓縮比率
   gzip_vary on;                    #支持前端緩存服務(wù)器存儲壓縮頁面
   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ǎng)頁文檔啟用壓縮功能
?
2. #重啟服務(wù)
systemctl restart nginx.service 
?
?
3. #網(wǎng)頁查看
http://192.168.59.118/game.png

配置防盜鏈

在企業(yè)網(wǎng)站服務(wù)中,一般都要配置防盜鏈功能,以避免網(wǎng)站內(nèi)容被非法盜用,造成經(jīng)濟損失,也避免了不必要的帶寬浪費。

Nginx 的防盜鏈功能也非常強大,在默認情況下,只需要進行很簡單的配置,即可實現(xiàn)防盜鏈處理。

vim /usr/ local/nginx/conf/nginx. conf
http {
......
   server {
     ......
 
    location ~* \. (jpglgiflswf)$ {
 
      valid_ referers none blocked * . kgc. com kgc . com;
 
        if ( $invalid referer ) {
 
        rewrite ^/ http: I /www. kgc. com/error。pngi
 
           #return 403;
 
         }
 
      }
 
  ......
 
   }
}

~* \. (jpgIgifIswf)$ :這段正則表達式表示匹配不區(qū)分大小寫,以.jpg或.gif 或.swf結(jié)尾的文件:
 
valid_ referers :設(shè)置信任的網(wǎng)站,可以正常使用圖片:
 
none:允許沒有http_refer的請求訪問資源(根據(jù)Referer的定義,它的作用是指示一個請求是從哪里鏈接過來的,如果直接在瀏覽器的地址欄中輸入一個資源的URL地址,那么這種請求是不會包含Referer 字段的),如http:/ /www.dayu.com/ game.jpg
 
我們使用http://www. dayu.com訪問顯示的圖片,可以理解成http://www. dayu.com/game.jpg這個請求是從http://www. dayu.com這個鏈接過來的。
 
blocked: 允許不是http://開頭的, 不帶協(xié)議的請求訪問資源;
 
*. dayu. com: 只允許來自指定域名的請求訪問資源,如http://www. dayu.com
 
if語句:如果鏈接的來源域名不在valid_ referers所列出的列表中,$invalid_ referer為true, 則執(zhí)行后面的操作,即進行重寫或返回403 頁面。

第二臺機器配置內(nèi)容:

 現(xiàn)在還是可以正常顯示的

現(xiàn)在防盜圖出現(xiàn)

補充:面試題:用過哪些nginx的模塊和做過哪些優(yōu)化 

gzip       ### 網(wǎng)站數(shù)據(jù)壓縮
rewrite       ### 地址重寫
stub_ status     ###  統(tǒng)計nginx服務(wù)狀態(tài)
ssl 支持https,      ### 得先用openss1或者TLS工具生成相關(guān)證書和私鑰文件。再在ssl模塊配置中調(diào)用證書和私鑰
upstream      ### 使用nginx做反向代理web群集,定義群集服務(wù)器池
stream       ### 用于定義4層反向代理的
auth_ basic     ### 用戶認證
fastcgi        ### 轉(zhuǎn)發(fā)請求給php
--with-模塊名       ### 開啟模塊
--without-模塊名     ### 禁用模塊
 
隱藏版本號 、壓縮、緩存、防盜鏈、連續(xù)保持、優(yōu)化工作進程和進程連接數(shù)、日志分割、反向代理 

總結(jié)

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

相關(guān)文章

  • Nginx通過用戶IP獲取所在國家及地理位置的實現(xiàn)方法

    Nginx通過用戶IP獲取所在國家及地理位置的實現(xiàn)方法

    Nginx是一款高性能、輕量級的Web服務(wù)器和反向代理服務(wù)器,今天講解Nginx十分常用的功能之一,通過IP獲取用戶所在的國家,一般廣泛應(yīng)用在各類需要定位的網(wǎng)站上面,來定位用戶首次訪問的國家,通過IP解析庫GeoLite2-Country來實現(xiàn)功能,需要的朋友可以參考下
    2023-10-10
  • nginx 反向代理之 proxy_pass的實現(xiàn)

    nginx 反向代理之 proxy_pass的實現(xiàn)

    這篇文章主要介紹了nginx 反向代理之 proxy_pass的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Nginx文件下載站點搭建的實現(xiàn)步驟

    Nginx文件下載站點搭建的實現(xiàn)步驟

    本文主要介紹了Nginx文件下載站點搭建的實現(xiàn)步驟,包含配置Nginx和Fancyindex來搭建文件下載站點,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • nginx配置https加密訪問的詳細教程

    nginx配置https加密訪問的詳細教程

    這篇文章主要介紹了nginx配置https加密訪問的詳細教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 為Nginx自定義404,502錯誤頁面的方法

    為Nginx自定義404,502錯誤頁面的方法

    為Nginx自定義404,502錯誤頁面的方法,需要的朋友可以參考下。
    2010-12-12
  • Nginx配置之實現(xiàn)多臺服務(wù)器負載均衡

    Nginx配置之實現(xiàn)多臺服務(wù)器負載均衡

    這篇文章主要介紹了Nginx配置之實現(xiàn)多臺服務(wù)器負載均衡,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Nginx 解決504錯誤超時問題小結(jié)

    Nginx 解決504錯誤超時問題小結(jié)

    本文主要介紹了ginx出現(xiàn)504 Gateway Timeout錯誤的原因,通常是因為程序執(zhí)行時間過長導(dǎo)致響應(yīng)超時,下面就來介紹一下解決方法,具有一定的參考價值,感興趣的可以了解一下
    2025-02-02
  • Nginx和Apache幾種防盜鏈配置方法實例

    Nginx和Apache幾種防盜鏈配置方法實例

    這篇文章主要介紹了Nginx和Apache幾種防盜鏈配置方法實例,本文使用判斷來路的方法實現(xiàn)防盜鏈,分別給出Nginx和Apache配置實例,需要的朋友可以參考下
    2015-02-02
  • nginx刷新頁面出現(xiàn)404解決方案(親測有效)

    nginx刷新頁面出現(xiàn)404解決方案(親測有效)

    本文主要介紹了nginx刷新頁面出現(xiàn)404解決方案,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Linux下Tomcat+Nginx服務(wù)器環(huán)境安裝配置的簡明教程

    Linux下Tomcat+Nginx服務(wù)器環(huán)境安裝配置的簡明教程

    以Nginx作為反向代理再用Tomcat驅(qū)動Java Web程序是當(dāng)今很流行的一種方案,那么這里我們就著眼于最基本的生產(chǎn)環(huán)境搭建,一起來看一下Linux下Tomcat+Nginx服務(wù)器環(huán)境安裝配置的簡明教程
    2016-05-05

最新評論

大安市| 马尔康县| 东安县| 南涧| 古蔺县| 方城县| 遵义市| 枣庄市| 侯马市| 洛隆县| 泰宁县| 通榆县| 高清| 北海市| 定结县| 三穗县| 三门县| 枣强县| 云龙县| 东海县| 丘北县| 芜湖县| 禄丰县| 呼伦贝尔市| 桃园县| 景德镇市| 沁水县| 宁陵县| 凤翔县| 孝义市| 鹰潭市| 凭祥市| 来安县| 陆河县| 松江区| 确山县| 沐川县| 墨玉县| 汉沽区| 桦南县| 兴城市|