nginx相關(guān)知識(shí)學(xué)習(xí)

1.nginx基本概念

1)nginx是什么

? nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器奥此,特點(diǎn)是占用內(nèi)存少弧哎,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)站服務(wù)器中表現(xiàn)較好

? nginx專門為性能優(yōu)化而開發(fā)稚虎,性能是其最重要的考量撤嫩,是線上非常重視效率,能經(jīng)受高負(fù)載的考驗(yàn)蠢终,有報(bào)告表明能支持高達(dá)50000個(gè)并發(fā)連接數(shù)

2)反向代理

? tips:正向代理:在客戶端(瀏覽器)配置代理服務(wù)器序攘,通過代理服務(wù)器進(jìn)行互聯(lián)網(wǎng)訪問

? 我們只需要將請求發(fā)送到反向代理服務(wù)器茴她,有反向代理服務(wù)器去訪問目標(biāo)服務(wù)器獲取數(shù)據(jù)后,在返回給客戶端两踏,此時(shí)反向代理服務(wù)器和目標(biāo)服務(wù)器對(duì)外來說就是一個(gè)服務(wù)器败京,暴露的是反向代理服務(wù)器的地址,隱藏了真實(shí)服務(wù)器的地址

3)負(fù)載均衡

? 單個(gè)服務(wù)器解決不了梦染,我們增加服務(wù)器的數(shù)量赡麦,然后將請求分發(fā)到各個(gè)服務(wù)器上,就是負(fù)載均衡

4)動(dòng)靜分離

? 為了加快網(wǎng)站的解析速度帕识,可以把動(dòng)態(tài)資源和靜態(tài)資源有不同的服務(wù)器來解析泛粹,加快解析速度,降低單個(gè)服務(wù)器的壓力

2.nginx常用操作命令

  • 查看nginx版本: nginx -v
  • 啟動(dòng)nginx: systemctl start nginx/usr/sbin/nginx(我的nginx啟動(dòng)文件在/us/sbin目錄下)
  • 關(guān)閉nginx:nginx -s stop
  • 檢查nginx配置文件:nginx -t
  • 重新加載nginx(配置文件):nginx -s reloadsystemctl reload nginx

3.nginx配置文件

tips:nginx配置文件一般在/usr/local/nginx目錄中肮疗,如果沒有晶姊,可以通過whereis nginx 查找一下

nginx配置文件由三部分內(nèi)容構(gòu)成:

1)全局塊

? 從配置文件開始到events塊之間的內(nèi)容,主要會(huì)設(shè)置一些影響nginx服務(wù)器整體運(yùn)行的配置命令伪货,如:

user nginx;

#支持的并發(fā)數(shù)
worker_processes auto;
#error_log的位置
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
#加載的其他配置文件
include /usr/share/nginx/modules/*.conf;

2)events塊

? events塊涉及的指令主要影響nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接 们衙,如:

#支持的最大連接數(shù)(單個(gè)進(jìn)程并發(fā)量)
worker_connections 1024;
3)http塊

tips:nginx服務(wù)器中配置最頻繁的部分

http塊包含兩個(gè)部分:http全局塊server塊(具體設(shè)置描述看下一章)

3.nginx配置實(shí)例

1)配置虛擬機(jī)

tips:這里主要展示server塊中的配置

server {
        #監(jiān)聽的端口后
        listen       80;
        #域名解析
        server_name  _;
        #網(wǎng)站根目錄
        root         /usr/share/php;
        # 加載其他配置文件
        include /etc/nginx/default.d/*.conf;

        #除下面提及的需要添加的配置信息外碱呼,其他配置保持默認(rèn)值即可蒙挑。
        location / {
            #在location大括號(hào)內(nèi)添加以下信息,配置網(wǎng)站被訪問時(shí)的默認(rèn)首頁
            index index.php index.html index.htm;
        }
        #添加下列信息愚臀,配置Nginx通過fastcgi方式處理您的PHP請求
        location ~ .php$ {
            #Nginx通過本機(jī)的9000端口將PHP請求轉(zhuǎn)發(fā)給PHP-FPM進(jìn)行處理
            fastcgi_pass 127.0.0.1:9000;   
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;   #Nginx調(diào)用fastcgi接口處理PHP請求
        }
        #配置錯(cuò)誤頁面
        error_page 404 /404.html;
            location = /40x.html {
        }
        #配置錯(cuò)誤頁面
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

2)配置緩存

tips:這里主要展示server塊中的配置

nginx 通過配置可以告知瀏覽器忆蚀,返回?cái)?shù)據(jù)的有效期,瀏覽器就可以根據(jù)數(shù)據(jù)的有效期來判斷是否需要請求服務(wù)器姑裂,如果沒有超過有效期馋袜,就可以不用請求服務(wù)器,這樣可以減少服務(wù)器請求舶斧,并且降低帶寬壓力

#各種圖片的緩存時(shí)間(30天)
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
    expires      30d;
}
#js和css文件緩存時(shí)間(12小時(shí))
location ~ .*\.(js|css)?$
{
    expires      12h;
}
3)gzip壓縮設(shè)置

壓縮資源欣鳖,通過網(wǎng)絡(luò)傳輸?shù)馁Y源變小,帶寬占用變小捧毛,可以快速訪問

tips:服務(wù)器進(jìn)行壓縮观堂,瀏覽器需要進(jìn)行解壓,目前大部分瀏覽器是支持解壓的

        #該部分設(shè)置在http塊中的的全局塊中呀忧,也就是server之前
        gzip on;
        #http協(xié)議版本
        gzip_http_version 1.1;
        #需要壓縮的文件格式
        gzip_types     text/plain application/json application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        #如果是IE1-6师痕,就關(guān)閉壓縮,因?yàn)镮E1-6不支持壓縮
        gzip_disable   "MSIE [1-6]\.";
4)負(fù)載均衡設(shè)置

分發(fā)段配置:

#該部分設(shè)置在http塊中的的全局塊中
# upstream后的test要和 server塊中l(wèi)ocation中的代理的相同
upstream test1{
    #保證同一個(gè)ip訪問同一臺(tái)服務(wù)器而账,這樣就可以避免之前訪問a服務(wù)器胰坟,之后訪問b服務(wù)器session丟失的問題
    ip_hash;
    # 分發(fā)到的服務(wù)器    分發(fā)權(quán)重優(yōu)先級(jí)(1:1)  最大失敗次數(shù)   失敗超時(shí)時(shí)間
    server 192.168.174.130 weight=1 max_fails=3 fail_timeout=20s; #注意,真實(shí)服務(wù)器需要開啟nginx并監(jiān)聽80端口
    server 192.168.174.130 weight=1 max_fails=3 fail_timeout=20s;
}

server {
        #監(jiān)聽的端口后
        listen       80;
        #域名解析
        server_name  test1.123.com;
        #除下面提及的需要添加的配置信息外泞辐,其他配置保持默認(rèn)值即可笔横。
        location / {
           #分發(fā)代理 (http://后面需要和前面upstream后面的相同)
           proxy_pass: http://test1;
        }
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末竞滓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吹缔,更是在濱河造成了極大的恐慌商佑,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厢塘,死亡現(xiàn)場離奇詭異茶没,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)晚碾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門抓半,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人格嘁,你說我怎么就攤上這事笛求。” “怎么了糕簿?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵探入,是天一觀的道長。 經(jīng)常有香客問我懂诗,道長新症,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任响禽,我火速辦了婚禮,結(jié)果婚禮上荚醒,老公的妹妹穿的比我還像新娘芋类。我一直安慰自己,他們只是感情好界阁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布侯繁。 她就那樣靜靜地躺著,像睡著了一般泡躯。 火紅的嫁衣襯著肌膚如雪贮竟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天较剃,我揣著相機(jī)與錄音咕别,去河邊找鬼。 笑死写穴,一個(gè)胖子當(dāng)著我的面吹牛惰拱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啊送,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼偿短,長吁一口氣:“原來是場噩夢啊……” “哼欣孤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昔逗,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤降传,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后勾怒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婆排,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年控硼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泽论。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卡乾,死狀恐怖翼悴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幔妨,我是刑警寧澤彪薛,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布藕甩,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏耕腾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一墩剖、第九天 我趴在偏房一處隱蔽的房頂上張望咐低。 院中可真熱鬧,春花似錦悉抵、人聲如沸肩狂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽傻谁。三九已至,卻和暖如春列粪,著一層夾襖步出監(jiān)牢的瞬間审磁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工岂座, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留态蒂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓掺逼,卻偏偏與公主長得像吃媒,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容