日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx 服务优化与防盗链

發(fā)布時(shí)間:2024/9/3 Nginx 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx 服务优化与防盗链 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、隱藏版本號
    • 1.1 隱藏版本號的操作步驟(理論)
    • 1.2 隱藏版本號的實(shí)驗(yàn)具體步驟(實(shí)操)
    • 1.3 修改用戶與組
  • 二、緩存時(shí)間
    • 2.1緩存時(shí)間的操作步驟(理論)
    • 2.2 緩存時(shí)間的實(shí)驗(yàn)具體步驟(實(shí)操)
  • 三、日志切割
    • 3.1 日志切割的操作步驟(理論)
  • Filename: fenge.sh
    • 3.2 日志切割的實(shí)驗(yàn)具體步驟(實(shí)操)
  • 四、連接超時(shí)和更改進(jìn)程數(shù)
    • 4.1 連接超時(shí)的操作步驟(理論)
    • 4.2 連接超時(shí)實(shí)驗(yàn)具體步驟(實(shí)操)
    • 4.3 更改進(jìn)程數(shù)的操作步驟(理論)
    • 4.4 更改進(jìn)程數(shù)的操作步驟(理論)
  • 五、配置網(wǎng)頁壓縮
    • 5.1 配置網(wǎng)頁壓縮的操作步驟(理論)
    • 5.2 配置網(wǎng)頁壓縮的實(shí)驗(yàn)具體步驟(實(shí)操)
  • 六、配置防盜鏈
    • 6.1 配置防盜鏈(理論)
    • 6.2 配置防盜鏈(實(shí)操)

一、隱藏版本號

1.1 隱藏版本號的操作步驟(理論)

可以使用 Fiddler 工具抓取數(shù)據(jù)包,查看 Nginx版本,
也可以在 CentOS 中使用命令 curl -I http://192.168.80.200 顯示響應(yīng)報(bào)文首部信息。

curl -I http://192.168.80.200

方法一:修改配置文件方式
vim /usr/local/nginx/conf/nginx.conf

```handlebars
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; #添加,關(guān)閉版本號

}

systemctl restart nginx
curl -I http://192.168.80.10

方法二:修改源碼文件,重新編譯安裝
vim /opt/nginx-1.12.0/src/core/nginx.h

#define NGINX_VERSION “1.1.1” #修改版本號
#define NGINX_VER “IIS” NGINX_VERSION #修改服務(wù)器類型

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

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

systemctl restart nginx
curl -I http://192.168.80.200

1.2 隱藏版本號的實(shí)驗(yàn)具體步驟(實(shí)操)

第一步:顯示響應(yīng)報(bào)文首部信息

第二步:修改主配置文件

第三步:再次看出版本號是否被隱藏

在瀏覽器中進(jìn)行查看

1.3 修改用戶與組

vim /usr/local/nginx/conf/nginx.conf

user nginx nginx; #取消注釋,修改用戶為 nginx ,組為 nginx

systemctl restart nginx

ps aux | grep nginx

主進(jìn)程由root創(chuàng)建,子進(jìn)程由nginx創(chuàng)建

修改主配置文件

第二步:重啟服務(wù)進(jìn)行查看

二、緩存時(shí)間

2.1緩存時(shí)間的操作步驟(理論)

vim /usr/local/nginx/conf/nginx.conf

http {

server {

location / {
root html;
index index.html index.htm;
}

location ~ .(gif|jpg|jepg|png|bmp|ico)$ {
root html;
expires 1d;
}

}
}

systemctl restart nginx

在Linux系統(tǒng)中,打開火狐瀏覽器,右擊點(diǎn)查看元素
選擇 網(wǎng)絡(luò) —> 選擇 HTML、WS、其他
訪問 http://192.168.80.10 ,雙擊200響應(yīng)消息查看響應(yīng)頭中包含 Cahce-Control:max-age=86400 表示緩存時(shí)間是 86400 秒。也就是緩存一天的時(shí)間,一天之內(nèi)瀏覽器訪問這個(gè)頁面,都是用緩存中的數(shù)據(jù),而不需要向 Nginx 服務(wù)器重新發(fā)出請求,減少了服務(wù)器的使用帶寬。

2.2 緩存時(shí)間的實(shí)驗(yàn)具體步驟(實(shí)操)

第一步:修改主配置文件

第二步:當(dāng)如圖片并對網(wǎng)頁文件進(jìn)行編輯

第三步:檢查配置并重啟服務(wù)

第四步:瀏覽器中進(jìn)行查看

三、日志切割

3.1 日志切割的操作步驟(理論)

vi /opt/fenge.sh

#!/bin/bash

Filename: fenge.sh

d=$(date -d “-1 day” “+%Y%m%d”) #顯示前一天的時(shí)間
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path #創(chuàng)建日志文件目錄
mv /usr/local/nginx/logs/access.log logspath/kgc.com?access.log?{logs_path}/kgc.com-access.log-logsp?ath/kgc.com?access.log?d #移動(dòng)并重命名日志文件
kill -USR1 $(cat $pid_path) #重建新日志文件
find $logs_path -mtime +30 -exec rm -rf {} ; #刪除30天之前的日志文件
#find $logs_path -mtime +30 |xargs rm -rf

chmod +x /opt/fenge.sh
/opt/fenge.sh
ls /var/log/nginx
ls/usr/local/nginx/logs/access.log

crontab -e
0 1 * * * /opt/fenge.sh

小知識
在linux操作系統(tǒng)中,每個(gè)文件都有很多的時(shí)間參數(shù),其中有三個(gè)比較主要,分別是ctime,atime,mtime
ctime(status time): 當(dāng)修改文件的權(quán)限或者屬性的時(shí)候,就會更新這個(gè)時(shí)間,ctime并不是createtime,更像是change time, 只有當(dāng)更新文件的屬性或者權(quán)限的時(shí)候才會更新這個(gè)時(shí)間,但是更改內(nèi)容的話是不會更新這個(gè)時(shí)間。
atime(accesstime): 當(dāng)使用這個(gè)文件的時(shí)候就會更新這個(gè)時(shí)間。
mtime(modification time):當(dāng)修改文件的內(nèi)容數(shù)據(jù)的時(shí)候,就會更新這個(gè)時(shí)間,而更改權(quán)限或者屬性,mtime不會改變,這就是和ctime的區(qū)別。

3.2 日志切割的實(shí)驗(yàn)具體步驟(實(shí)操)

第一步:編寫腳本

第二步:執(zhí)行腳本,查看日志是否生成

四、連接超時(shí)和更改進(jìn)程數(shù)

4.1 連接超時(shí)的操作步驟(理論)

vim /usr/local/nginx/conf/nginx.conf

http {

keepalive_timeout 65 180;
client_header_timeout 80;
client_body_timeout 80;

}

systemctl restart nginx

4.2 連接超時(shí)實(shí)驗(yàn)具體步驟(實(shí)操)

第一步:修改主配置文件

第二步:檢查配置和重啟服務(wù)

4.3 更改進(jìn)程數(shù)的操作步驟(理論)

cat /proc/cpuinfo | grep -c “physical id” #查看cpu核數(shù)
ps aux | grep nginx #查看nginx主進(jìn)程中包含幾個(gè)子進(jìn)程

vim /usr/local/nginx/conf/nginx.conf

worker_processes 2; #修改為核數(shù)相同或者2倍
worker_cpu_affinity 01 10; #設(shè)置每個(gè)進(jìn)程由不同cpu處理,進(jìn)程數(shù)配為4時(shí)0001 0010 0100 1000

systemctl restart nginx

4.4 更改進(jìn)程數(shù)的操作步驟(理論)

第一步:查看cpu核數(shù)和nginx主進(jìn)程中包含幾個(gè)子進(jìn)程

第二步:修改主配置參數(shù)

第三步:重啟服務(wù)并查看

五、配置網(wǎng)頁壓縮

5.1 配置網(wǎng)頁壓縮的操作步驟(理論)

vim /usr/local/nginx/conf/nginx.conf

http {

gzip on; #取消注釋,開啟gzip壓縮功能
gzip_min_length 1k; #最小壓縮文件大小
gzip_buffers 4 16k; #壓縮緩沖區(qū),大小為4個(gè)16k緩沖區(qū)
gzip_http_version 1.1; #壓縮版本(默認(rèn)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)頁文檔啟用壓縮功能

}

cd /usr/local/nginx/html
先將1.jpg文件傳到/usr/local/nginx/html目錄下
vim index.html


#網(wǎng)頁中插入圖片

systemctl restart nginx

測試:
在Linux系統(tǒng)中,打開火狐瀏覽器,右擊點(diǎn)查看元素
選擇 網(wǎng)絡(luò) —> 選擇 HTML、WS、其他
訪問 http://192.168.80.10 ,雙擊200響應(yīng)消息查看響應(yīng)頭中包含 Content-Encoding: gzip

5.2 配置網(wǎng)頁壓縮的實(shí)驗(yàn)具體步驟(實(shí)操)

第一步:修改主配置文件

第二步:修改網(wǎng)頁顯示內(nèi)容

第三步:重啟服務(wù)瀏覽器沖測試

瀏覽器中測試

六、配置防盜鏈

6.1 配置防盜鏈(理論)

vim /usr/local/nginx/conf/nginx.conf

http {

server {

location ~*.(jpg|gif|swf)$ {
valid_referers *.kgc.com kgc.com;
if ( $invalid_referer ) {
rewrite ^/ http://www.kgc.com/3.png;

}
}

}
}

~* .(jpg|gif|swf)$ :這段正則表達(dá)式表示匹配不區(qū)分大小寫,以.jpg 或.gif 或.swf 結(jié)尾的文件;
valid_referers :設(shè)置信任的網(wǎng)站,可以正常使用圖片;
后面的網(wǎng)址或者域名 :referer 中包含相關(guān)字符串的網(wǎng)址;
if語句:如果鏈接的來源域名不在valid_referers所列出的列表中,$invalid_referer為1,則執(zhí)行后面的操作,即進(jìn)行重寫或返回 403 頁面。

網(wǎng)頁準(zhǔn)備:
Web源主機(jī)(192.168.80.200)配置:

cd /usr/local/nginx/html

將game.jpg、error.png文件傳到/usr/local/nginx/html目錄下

vim index.html

echo “192.168.153.20 www.kgc.com” >> /etc/hosts

盜鏈網(wǎng)站主機(jī)(192.168.80.111):

cd /var/www/html

vim index.html


echo “192.168.153.20 www.kgc.com” >> /etc/hosts
echo “192.168.153.30 www.clj.com” >> /etc/hosts

在盜圖網(wǎng)站主機(jī)上進(jìn)行瀏覽器驗(yàn)證
http://www.clj.com

6.2 配置防盜鏈(實(shí)操)

第一步:修改主配置文件

第二步:源主機(jī)網(wǎng)頁準(zhǔn)備工作

第三步:源主機(jī)臨時(shí)添加域名和IP的映射關(guān)系

第四步:盜鏈主機(jī)網(wǎng)頁準(zhǔn)備

第五步:盜鏈主機(jī)臨時(shí)添加域名和IP的映射關(guān)系

第六步:瀏覽器中驗(yàn)證
訪問源主機(jī)網(wǎng)頁測試結(jié)果為可以正常訪問到圖片

訪問盜鏈主機(jī)網(wǎng)頁測試結(jié)果為顯示盜鏈圖片

總結(jié)

以上是生活随笔為你收集整理的Nginx 服务优化与防盗链的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。