Nginx 服务优化与防盗链
文章目錄
- 一、隱藏版本號
- 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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shell概述
- 下一篇: Nginx —— 检查配置文件ngi