一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Nginx服務(wù)優(yōu)化教程

馬哥Linux運(yùn)維 ? 來(lái)源:博客園 ? 2025-03-12 15:57 ? 次閱讀

1.Nginx服務(wù)優(yōu)化

(1)配置Nginx隱藏版本號(hào)

隱藏Nginx版本號(hào),避免安全漏洞泄漏:修改配置文件法;修改源碼法
server_tokens off; ##添加,關(guān)閉版本號(hào)
nginx.h ##修改源碼

4c45497a-fe65-11ef-9310-92fbcf53809c.png
4c5d4282-fe65-11ef-9310-92fbcf53809c.png

4c763e4a-fe65-11ef-9310-92fbcf53809c.png
4c9a26f2-fe65-11ef-9310-92fbcf53809c.png

重新編譯安裝
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make -j 2 && make install

4cb2a128-fe65-11ef-9310-92fbcf53809c.png
4ccd8650-fe65-11ef-9310-92fbcf53809c.png
4cdfff1a-fe65-11ef-9310-92fbcf53809c.png
4cede3e6-fe65-11ef-9310-92fbcf53809c.png

headers-more-nginx-module-0.34.tar.gz插件包,解壓到一個(gè)目錄,編譯安裝nginx,./configure --add-module='模塊路徑' && make -j 2 && make install 修改nginx.conf 文件,在http配置塊加more_clear_ headers '響應(yīng)頭字段';  ————可去除響應(yīng)頭任何字段

(2)修改Nginx用戶與組

Nginx運(yùn)行時(shí)進(jìn)程需要有用戶與組的支持,以實(shí)現(xiàn)對(duì)網(wǎng)站文件讀取時(shí)進(jìn)行訪問控制
Nginx默認(rèn)使用nobody用戶賬號(hào)與組賬號(hào)
修改的方法:編譯安裝時(shí)指定用戶與組;修改配置文件指定用戶與組
user 用戶名 組名;
4d03208a-fe65-11ef-9310-92fbcf53809c.png
4d1b1906-fe65-11ef-9310-92fbcf53809c.png

(3)配置Nginx網(wǎng)頁(yè)緩存時(shí)間

當(dāng)Nginx將網(wǎng)頁(yè)數(shù)據(jù)返回給客戶端后,可設(shè)置緩存的時(shí)間,以方便在日后進(jìn)行相同內(nèi)容的請(qǐng)求時(shí)直接返回,避免重復(fù)請(qǐng)求,加快了訪問速度
一般針對(duì)靜態(tài)網(wǎng)頁(yè)設(shè)置,對(duì)動(dòng)態(tài)網(wǎng)頁(yè)不設(shè)置緩存時(shí)間
設(shè)置方法:修改配置文件,在http段、或者server段、或者location段加入對(duì)特定內(nèi)容的過期參數(shù)
expires 緩存時(shí)間;

4d301388-fe65-11ef-9310-92fbcf53809c.png

(4)實(shí)現(xiàn)Nginx的日志切割

隨著Nginx運(yùn)行時(shí)間增加,日志也會(huì)增加。為了方便掌握Nginx運(yùn)行狀態(tài),需要時(shí)刻關(guān)注Nginx日志文件
太大的日志文件對(duì)監(jiān)控是一個(gè)大災(zāi)難:定期進(jìn)行日志文件的切割
Nginx自身不具備日志分割處理的功能,但可以通過Nginx信號(hào)控制功能的腳本實(shí)現(xiàn)日志的自動(dòng)切割
通過Linux的計(jì)劃任務(wù)周期性地進(jìn)行日志切割
shell腳本 + crontab
4d45de02-fe65-11ef-9310-92fbcf53809c.png
4d57f8bc-fe65-11ef-9310-92fbcf53809c.png

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

atime(accesstime):
當(dāng)使用這個(gè)文件的時(shí)候就會(huì)更新這個(gè)時(shí)間。

mtime(modification time):
當(dāng)修改文件的內(nèi)容數(shù)據(jù)的時(shí)候,就會(huì)更新這個(gè)時(shí)間,而更改權(quán)限或者屬性,mtime不會(huì)改變,這就是和ctime的區(qū)別。

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

為避免同一客戶端長(zhǎng)時(shí)間占用連接,造成資源浪費(fèi),可設(shè)置相應(yīng)的連接超時(shí)參數(shù),實(shí)現(xiàn)控制連接訪問時(shí)間

超時(shí)參數(shù):
Keepalive_timeout 服務(wù)端超時(shí)時(shí)間 客戶端超時(shí)時(shí)間;##設(shè)置連接保持超時(shí)時(shí)間
Client_header_timeout ##指定等待客戶端發(fā)送請(qǐng)求頭的超時(shí)時(shí)間
Client_body_timeout ##設(shè)置請(qǐng)求體讀超時(shí)時(shí)間
4d65615a-fe65-11ef-9310-92fbcf53809c.png
4d7f063c-fe65-11ef-9310-92fbcf53809c.png

keepalive_timeout
指定KeepAlive的超時(shí)時(shí)間(timeout)。指定一個(gè)長(zhǎng)連接最多可以保持多長(zhǎng)時(shí)間,服務(wù)器將會(huì)在這個(gè)時(shí)間后關(guān)閉連接。Nginx的默認(rèn)值是65秒,有些瀏覽器最多只保持 60 秒,所以可以設(shè)定為 60 秒。若將它設(shè)置為0,就禁止了keepalive 連接。
第二個(gè)參數(shù)(可選的)指定了在響應(yīng)頭Keep-Alive:timeout=time中的time值。這個(gè)頭能夠讓一些瀏覽器主動(dòng)關(guān)閉連接,這樣服務(wù)器就不必去關(guān)閉連接了。沒有這個(gè)參數(shù),Nginx 不會(huì)發(fā)送 Keep-Alive 響應(yīng)頭。

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

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

(6)更改Nginx運(yùn)行進(jìn)程數(shù)

在高并發(fā)場(chǎng)景,需要啟動(dòng)更多的Nginx進(jìn)程以保證快速響應(yīng),以處理用戶的請(qǐng)求,避免造成阻塞
修改配置文件的worker_processes參數(shù):一般設(shè)為CPU的個(gè)數(shù)或者核數(shù);在高并發(fā)情況下可設(shè)置為CPU個(gè)數(shù)或者核數(shù)的2倍
增加進(jìn)程數(shù),可減少了系統(tǒng)的開銷,提升了服務(wù)速度
默認(rèn)情況,Nginx的多個(gè)進(jìn)程可能跑在一個(gè)CPU上,可以分配不同的進(jìn)程給不同的CPU處理,充分利用硬件多核多CPU
4d93db98-fe65-11ef-9310-92fbcf53809c.png

cat /proc/cpuinfo | grep -c "physical id" #查看cpu核數(shù) 
ps aux | grep nginx#查看nginx主進(jìn)程中包含幾個(gè)子進(jìn)程
worker_processes 與服務(wù)器CPU數(shù)量相同或auto   #修改為cpu的總核數(shù),一般情況不超過8個(gè)
worker_cpu_affinity ##工作進(jìn)程靜態(tài)綁核
#將每個(gè)worker子進(jìn)程與特定CPU物理核心綁定,提升cpu利用率,進(jìn)而提升性能。避免同一個(gè)worker子進(jìn)程在不同的CPU核心上切換或者多個(gè)進(jìn)程跑在一個(gè)CPU上,緩存失效,降低性能。

4dac5164-fe65-11ef-9310-92fbcf53809c.png

(7)配置Nginx實(shí)現(xiàn)網(wǎng)頁(yè)壓縮功能

Nginx的ngx_http_gzip_module壓縮模塊提供對(duì)文件內(nèi)容壓縮的功能
允許Nginx服務(wù)器將輸出內(nèi)容在發(fā)送客戶端之前進(jìn)行壓縮,以節(jié)約網(wǎng)站帶寬,提升用戶的訪問體驗(yàn),默認(rèn)已經(jīng)安裝
可在配置文件中加入相應(yīng)的壓縮功能參數(shù)對(duì)壓縮性能進(jìn)行優(yōu)化
gzip on; #開啟gzip壓縮功能
4dc47866-fe65-11ef-9310-92fbcf53809c.png
4ddaa2a8-fe65-11ef-9310-92fbcf53809c.png
4de52502-fe65-11ef-9310-92fbcf53809c.png

#實(shí)現(xiàn)網(wǎng)頁(yè)圖片的大小壓縮
http_image_filter_module是Nginx提供的集成圖片處理模塊,可以用于實(shí)時(shí)縮放圖片,旋轉(zhuǎn)圖片,驗(yàn)證圖片有效性以及獲取圖片寬高以及圖片類型信息
yum install -y gd-devel  ##yum在線源安裝gd-devel,http_image_filter_module模塊需要依賴gd-devel的支持,重新編譯安裝啟動(dòng)
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_image_filter_module 
make -j 2 && make install
image_filter resize 200 200;#按等比例縮小圖像的寬或高至指定大小。如果只想設(shè)置一個(gè)維度,另一維可以指定為:“-”


#注:Nginx的Gzip壓縮功能雖然好用,但是下面兩類文件資源不太建議啟用此壓縮功能。
1)圖片/視頻類型資源 原因:圖片如jpg、png文件本身就會(huì)有壓縮,所以就算開啟gzip后,壓縮前和壓縮后大小沒有多大區(qū)別,所以開啟了反而會(huì)白白的浪費(fèi)資源。
2)大文件資源 原因:會(huì)消耗大量的cpu資源,且不一定有明顯的效果。

4dfa7f06-fe65-11ef-9310-92fbcf53809c.png

(8)配置Nginx實(shí)現(xiàn)防盜鏈

在企業(yè)網(wǎng)站服務(wù)中,一般都要配置防盜鏈功能,以避免網(wǎng)站內(nèi)容被非法盜用,造成經(jīng)濟(jì)損失
Nginx防盜鏈功能也非常強(qiáng)大。默認(rèn)情況下,只需要進(jìn)行簡(jiǎn)單的配置,即可實(shí)現(xiàn)防盜鏈處理

ewrite if ( $invalid_referer) {rewrite... }

4e0ce4d4-fe65-11ef-9310-92fbcf53809c.png

~* .(jpg|gif|swf)$ :這段正則表達(dá)式表示匹配不區(qū)分大小寫,以.jpg 或.gif 或.swf 結(jié)尾的文件;
valid_referers :設(shè)置信任的網(wǎng)站,可以正常使用圖片;
none:允許沒有http_refer的請(qǐng)求訪問資源(根據(jù)Referer的定義,它的作用是指示一個(gè)請(qǐng)求是從哪里鏈接過來(lái)的,如果直接在瀏覽器的地址欄中輸入一個(gè)資源的URL地址,那么這種請(qǐng)求是不會(huì)包含 Referer 字段的),如 http://www.kgc.com/game.jpg
我們使用 http://www.kgc.com 訪問顯示的圖片,可以理解成 http://www.kgc.com/game.jpg 這個(gè)請(qǐng)求是從 http://www.kgc.com 這個(gè)鏈接過來(lái)的。
blocked:允許不是http://開頭的,不帶協(xié)議的請(qǐng)求訪問資源;
*.kgc.com:只允許來(lái)自指定域名的請(qǐng)求訪問資源,如 http://www.kgc.com

if語(yǔ)句:如果鏈接的來(lái)源域名不在valid_referers所列出的列表中,$invalid_referer為true,則執(zhí)行后面的操作,即進(jìn)行重寫或返回 403 頁(yè)面。

(1)實(shí)驗(yàn)演練

盜鏈網(wǎng)站主機(jī)(20.0.0.160)
4e277dbc-fe65-11ef-9310-92fbcf53809c.png
4e3b4112-fe65-11ef-9310-92fbcf53809c.png
4e4db090-fe65-11ef-9310-92fbcf53809c.png

Web源主機(jī)(20.0.0.150)
4e77204c-fe65-11ef-9310-92fbcf53809c.png
4e884af2-fe65-11ef-9310-92fbcf53809c.png
4e9e4f5a-fe65-11ef-9310-92fbcf53809c.png

(9)nginx常用模塊

http_stub_status_module       訪問狀態(tài)統(tǒng)計(jì)模塊
http_gzip_module              網(wǎng)頁(yè)壓縮模塊
http_rewrite_module           URL地址重寫模塊
http_ssl_module               https安全加密模塊
http_auth_basic_module        網(wǎng)頁(yè)用戶認(rèn)證模塊
http_fastcgi_module           fastcgi轉(zhuǎn)發(fā)模塊
http_image_filter_module      圖片處理模塊
http_mp4/flv_module           mp4/flv視頻格式模塊
http_limit_req_module         限制請(qǐng)求數(shù)模塊
http_limit_conn_module        限制連接數(shù)模塊
http_proxy_module             代理轉(zhuǎn)發(fā)模塊
http_upstream_*_module        負(fù)載均衡模塊
stream                        四層代理轉(zhuǎn)發(fā)模塊

鏈接:https://www.cnblogs.com/zsy828/p/18223841

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    665

    瀏覽量

    30056
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    674

    瀏覽量

    33599
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    161

    瀏覽量

    12441

原文標(biāo)題:1.Nginx服務(wù)優(yōu)化

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux上Nginx獲得最佳性能的8種方法

    NGINX 是一種流行的、免費(fèi)的開源 Web 服務(wù)器。默認(rèn)的 NGINX 配置足以讓 Web 服務(wù)器正常工作。 但是,如果您想充分利用 NGINX
    發(fā)表于 01-16 09:51 ?603次閱讀

    nginx重啟命令linux步驟是什么?

      nginx.conf test is successful   說明配置文件正確!   方法二:在啟動(dòng)命令-c前加-t   2、重啟Nginx服務(wù)   方法一:進(jìn)入nginx可執(zhí)
    發(fā)表于 07-11 17:13

    【NanoPi2試用體驗(yàn)】高級(jí)(一):基于nginx的web服務(wù)

    /nginx reload在瀏覽器中打開地址192.168.1.222:8080服務(wù)器正常!征文活動(dòng),多多捧場(chǎng):https://bbs.elecfans.com/jishu_531047_1_1.html
    發(fā)表于 01-03 11:00

    NanoPi NEO - 可靠的Nginx 網(wǎng)絡(luò)服務(wù)

    服務(wù)器部署,并刪除匿名用戶和測(cè)試數(shù)據(jù)庫(kù)。#mysql_secure_installation根據(jù)提示進(jìn)行選擇:3. 安裝nginx如果你之前已經(jīng)安裝了Apache2,則需要先移除apache2
    發(fā)表于 06-20 15:43

    Linux運(yùn)維Nginx軟件優(yōu)化之安全優(yōu)化

    一、Nginx優(yōu)化分類安全優(yōu)化(提升網(wǎng)站安全性配置)性能優(yōu)化(提升用戶訪問網(wǎng)站效率)二、Nginx安全優(yōu)
    發(fā)表于 12-17 15:12

    Linux運(yùn)維Nginx軟件優(yōu)化Nginx性能優(yōu)化

    1. 優(yōu)化nginx worker進(jìn)行個(gè)數(shù)nginx服務(wù)主要有兩個(gè)重要進(jìn)程:01) master進(jìn)程:可以控制nginx
    發(fā)表于 12-18 15:11

    Linux運(yùn)維Nginx軟件優(yōu)化之日志優(yōu)化

    1. 配置Nginx服務(wù)相關(guān)日志操作1) 進(jìn)行日志的切割[code][root@oldboy ~]# mkdir /server/scripts/ -p[root@oldboy ~]# cd
    發(fā)表于 12-18 15:17

    Nginx的安裝和啟動(dòng)服務(wù)

    Mac上搭建直播服務(wù)Nginx+rtmp
    發(fā)表于 08-05 14:54

    nginx服務(wù)靜態(tài)資源的配置

    nginx的基礎(chǔ)應(yīng)用
    發(fā)表于 09-05 09:04

    Nginx服務(wù)器的搭建步驟

    ①搭建Nginx服務(wù)器②SSL加密網(wǎng)站③基于域名虛擬主機(jī)
    發(fā)表于 04-07 16:20

    請(qǐng)問zabbix怎么使用模版監(jiān)控nginx服務(wù)?

    zabbix使用模版監(jiān)控nginx服務(wù)的方法步驟
    發(fā)表于 11-04 07:16

    主要學(xué)習(xí)下nginx的安裝配置

    處理。因?yàn)橛辛酥虚g件,使得大型網(wǎng)站在規(guī)劃有了更好的層次性,維護(hù)上更加方便。也可以實(shí)現(xiàn)負(fù)載均衡、安全防護(hù)等。Nginx是一個(gè)開源高性能、可靠的HTTP中間件、代理服務(wù),在目前企業(yè)中得到了很大的利用。今天
    發(fā)表于 10-19 14:12

    Nginx架構(gòu)介紹 Nginx服務(wù)器模型分析

    Nginx是一款免費(fèi)的、開源的、高性能、模塊化、輕量級(jí)的HTTP服務(wù)器、反向代理服務(wù)器以及電子郵件(IMAP/POP3)代理服務(wù)器。
    的頭像 發(fā)表于 01-10 16:32 ?9370次閱讀
    <b class='flag-5'>Nginx</b>架構(gòu)介紹 <b class='flag-5'>Nginx</b><b class='flag-5'>服務(wù)</b>器模型分析

    Nginx的詳細(xì)知識(shí)點(diǎn)講解

    Nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器,特點(diǎn)是占用內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好 ngi
    的頭像 發(fā)表于 12-26 10:25 ?2748次閱讀
    <b class='flag-5'>Nginx</b>的詳細(xì)知識(shí)點(diǎn)講解

    Nginx 如何實(shí)現(xiàn)高性能低消耗

    Nginx 是一個(gè)輕量級(jí)的HTTP 服務(wù)程序,相比其他服務(wù)器程序如Apache,Nginx占用內(nèi)存少,穩(wěn)定性高,并發(fā)處理能力強(qiáng)。同時(shí)Nginx
    的頭像 發(fā)表于 11-11 11:31 ?719次閱讀
    <b class='flag-5'>Nginx</b> 如何實(shí)現(xiàn)高性能低消耗