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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx 服务优化与防盗链

發布時間:2024/9/3 Nginx 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx 服务优化与防盗链 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

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

一、隱藏版本號

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

可以使用 Fiddler 工具抓取數據包,查看 Nginx版本,
也可以在 CentOS 中使用命令 curl -I http://192.168.80.200 顯示響應報文首部信息。

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; #添加,關閉版本號

}

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 #修改服務器類型

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 隱藏版本號的實驗具體步驟(實操)

第一步:顯示響應報文首部信息

第二步:修改主配置文件

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

在瀏覽器中進行查看

1.3 修改用戶與組

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

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

systemctl restart nginx

ps aux | grep nginx

主進程由root創建,子進程由nginx創建

修改主配置文件

第二步:重啟服務進行查看

二、緩存時間

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

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系統中,打開火狐瀏覽器,右擊點查看元素
選擇 網絡 —> 選擇 HTML、WS、其他
訪問 http://192.168.80.10 ,雙擊200響應消息查看響應頭中包含 Cahce-Control:max-age=86400 表示緩存時間是 86400 秒。也就是緩存一天的時間,一天之內瀏覽器訪問這個頁面,都是用緩存中的數據,而不需要向 Nginx 服務器重新發出請求,減少了服務器的使用帶寬。

2.2 緩存時間的實驗具體步驟(實操)

第一步:修改主配置文件

第二步:當如圖片并對網頁文件進行編輯

第三步:檢查配置并重啟服務

第四步:瀏覽器中進行查看

三、日志切割

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

vi /opt/fenge.sh

#!/bin/bash

Filename: fenge.sh

d=$(date -d “-1 day” “+%Y%m%d”) #顯示前一天的時間
logs_path="/var/log/nginx"
pid_path="/usr/local/nginx/logs/nginx.pid"
[ -d $logs_path ] || mkdir -p $logs_path #創建日志文件目錄
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 #移動并重命名日志文件
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操作系統中,每個文件都有很多的時間參數,其中有三個比較主要,分別是ctime,atime,mtime
ctime(status time): 當修改文件的權限或者屬性的時候,就會更新這個時間,ctime并不是createtime,更像是change time, 只有當更新文件的屬性或者權限的時候才會更新這個時間,但是更改內容的話是不會更新這個時間。
atime(accesstime): 當使用這個文件的時候就會更新這個時間。
mtime(modification time):當修改文件的內容數據的時候,就會更新這個時間,而更改權限或者屬性,mtime不會改變,這就是和ctime的區別。

3.2 日志切割的實驗具體步驟(實操)

第一步:編寫腳本

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

四、連接超時和更改進程數

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

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 連接超時實驗具體步驟(實操)

第一步:修改主配置文件

第二步:檢查配置和重啟服務

4.3 更改進程數的操作步驟(理論)

cat /proc/cpuinfo | grep -c “physical id” #查看cpu核數
ps aux | grep nginx #查看nginx主進程中包含幾個子進程

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

worker_processes 2; #修改為核數相同或者2倍
worker_cpu_affinity 01 10; #設置每個進程由不同cpu處理,進程數配為4時0001 0010 0100 1000

systemctl restart nginx

4.4 更改進程數的操作步驟(理論)

第一步:查看cpu核數和nginx主進程中包含幾個子進程

第二步:修改主配置參數

第三步:重啟服務并查看

五、配置網頁壓縮

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

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

http {

gzip on; #取消注釋,開啟gzip壓縮功能
gzip_min_length 1k; #最小壓縮文件大小
gzip_buffers 4 16k; #壓縮緩沖區,大小為4個16k緩沖區
gzip_http_version 1.1; #壓縮版本(默認1.1,前端如果是squid2.5請使用1.0)
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; #壓縮類型,表示哪些網頁文檔啟用壓縮功能

}

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


#網頁中插入圖片

systemctl restart nginx

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

5.2 配置網頁壓縮的實驗具體步驟(實操)

第一步:修改主配置文件

第二步:修改網頁顯示內容

第三步:重啟服務瀏覽器沖測試

瀏覽器中測試

六、配置防盜鏈

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)$ :這段正則表達式表示匹配不區分大小寫,以.jpg 或.gif 或.swf 結尾的文件;
valid_referers :設置信任的網站,可以正常使用圖片;
后面的網址或者域名 :referer 中包含相關字符串的網址;
if語句:如果鏈接的來源域名不在valid_referers所列出的列表中,$invalid_referer為1,則執行后面的操作,即進行重寫或返回 403 頁面。

網頁準備:
Web源主機(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

盜鏈網站主機(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

在盜圖網站主機上進行瀏覽器驗證
http://www.clj.com

6.2 配置防盜鏈(實操)

第一步:修改主配置文件

第二步:源主機網頁準備工作

第三步:源主機臨時添加域名和IP的映射關系

第四步:盜鏈主機網頁準備

第五步:盜鏈主機臨時添加域名和IP的映射關系

第六步:瀏覽器中驗證
訪問源主機網頁測試結果為可以正常訪問到圖片

訪問盜鏈主機網頁測試結果為顯示盜鏈圖片

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。