快速入門:大白話梳理Nginx,全網(wǎng)最通俗易懂

Nginx服務(wù)快速入門

目錄

一铺纽、Nginx介紹

1. 什么是Nginx哟忍?

Nginx?(engine x) 是一個高性能的?HTTP?和?反向代理?web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù)锅很。

其特點是占有內(nèi)存少,并發(fā)能力強爆安,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好叛复。

2. 為什么要使用Nginx扔仓?

隨著當(dāng)今互聯(lián)網(wǎng)的迅速發(fā)展,單點服務(wù)器早已無法承載上萬個乃至數(shù)十萬個用戶的持續(xù)訪問翘簇。比如一臺Tomcat服務(wù)器在理想狀態(tài)下只能夠可以承受住2000個左右的并發(fā)量,為了解決這個問題版保,就需要多臺Tomcat服務(wù)器來進(jìn)行負(fù)載均衡。

那么彻犁,應(yīng)該如何實現(xiàn)負(fù)載均衡?Nginx就是其中的一種解決方案汞幢,當(dāng)用戶訪問網(wǎng)站時驼鹅,Nginx攔截到這個訪問請求,并將其通過輪詢的方式均勻地分配到不同的服務(wù)器上谤民。


并且,在Nginx中有一種ip_hash策略张足,它可以獲取到用戶的真實IP,計算出hash值來選擇服務(wù)器为牍,這也是一種優(yōu)秀的負(fù)載均衡方式。 所以碉咆,掌握Nginx成為了Web開發(fā)學(xué)習(xí)道路上不可缺少的一部分。

3. 什么是正向代理疫铜?

正向代理,就是客戶端將自己的請求率先發(fā)給代理服務(wù)器壳咕,通過代理服務(wù)器將請求轉(zhuǎn)發(fā)給服務(wù)器。我們常用的VPN就是一種代理服務(wù)器谓厘,為了可以連上國外的網(wǎng)站,客戶端需要使用一個可以連接外網(wǎng)的服務(wù)器作為代理竟稳,并且客戶端能夠連接上該代理服務(wù)器。

4. 什么是反向代理他爸?

反向代理與正向代理不同,正向代理是代理了客戶端诊笤,而反向代理則是代理服務(wù)器端。在有多臺服務(wù)器分布的情況下盏混,為了能讓客戶端訪問到的IP地址都為同一個網(wǎng)站,就需要使用反向代理许赃。

明白了反向代理的工作機(jī)制后,接下來就可以進(jìn)入Nginx的學(xué)習(xí)混聊!

二、Nginx在Linux下的安裝

由于Nginx被大量使用在Web服務(wù)器中,所以本教程選擇了Centos服務(wù)器的7.4版本作為演示预愤!

1. 下載

進(jìn)入官方下載頁面: http://nginx.org/en/download.html ,選擇Stable version穩(wěn)定版本進(jìn)行下載植康,并上傳至服務(wù)器。

2. 安裝

上傳tar包至服務(wù)器后销睁,解壓到當(dāng)前目錄tar?-zxvf nginx-1.18.0.tar.gz -C ./

進(jìn)入解壓后的目錄,執(zhí)行configure腳本cd?nginx-1.18.0/ ./configure

使用make命令進(jìn)行安裝make?&&?make?install

安裝完成后冻记,使用whereis命令查找Nginx的安裝位置 (默認(rèn)安裝在/user/local/目錄下)whereis?nginx

進(jìn)入安裝目錄下的bin文件夾,啟動nginx服務(wù)冗栗,訪問服務(wù)器默認(rèn)的80端口查看是否安裝成功!



三隅居、Nginx配置入門

1. 配置文件

在Nginx的安裝目錄下有一個conf文件夾,打開其中的nginx.conf文件

cdconf/ && vim nginx.conf



2. 反向代理單個服務(wù)器

那么军浆,如何使用Nginx進(jìn)行反向代理挡闰?

在location參數(shù)中添加proxy_pass字段乒融,并填寫需要反向代理的服務(wù)器地址與端口號:

注意:每一行的配置都需要以封號結(jié)尾I忝酢!奢驯!

# 配置監(jiān)聽的目錄為:/location/ {roothtml;indexindex.html index.htm;proxy_passhttp://127.0.0.1:8080;# 反向代理了本機(jī)的8080端口# proxy_pass http://127.0.0.1:8081;? # 可以同時配置多條proxy_pass,反向代理了本機(jī)的8081端口}

3. 反向代理多臺服務(wù)器

如果有多臺服務(wù)器怎么辦瘪阁?除了不斷地添加proxy_pass參數(shù),更好的解決方案是配置upstream服務(wù)器組管跺!

在配置文件的http塊中添加upstream屬性:

# 配置服務(wù)器組义黎,取名為helloupstreamhello{# 一個server對應(yīng)一個服務(wù)器豁跑,當(dāng)然也可以是不同端口的web程序server127.0.0.1:8080;server127.0.0.1:8081;}# 在location塊中修改反向代理為服務(wù)器組location/ {roothtml;indexindex.html index.htm;proxy_passhttp://hello;# 反向代理了hello服務(wù)器組中的所有服務(wù)器}

四、運行測試

1. 啟動服務(wù)

配置完成后,進(jìn)入Nginx安裝目錄下的sbin文件夾狐蜕,運行nginx程序即可:

/usr/local/nginx/sbin/nginx

如果之前已經(jīng)啟動,無需關(guān)閉nginx服務(wù)层释,只需要讓nginx重新加載配置文件即可:

nginx-s reload

刷新瀏覽器,若反向代理成功湃累,訪問的路徑會自動映射到配置文件中的服務(wù)器地址!

將來治力,隨著用戶量的增長蒙秒,可能需要添加新的服務(wù)器宵统;這時只需要修改配置文件,使用?nginx -s reload?命令即可马澈,無需關(guān)閉nginx服務(wù)器瓢省!

2. 關(guān)閉服務(wù)

關(guān)閉nginx服務(wù)的方式一般分為兩種:

nginx-s stop# 立即停止痊班,無論是否在工作nginx -s quit# 等待進(jìn)程完成當(dāng)前工作后安全退出

五、負(fù)載均衡

1. 什么是負(fù)載均衡涤伐?

由于不同服務(wù)器的配置不同,為了讓性能高的服務(wù)器分配到更多的請求凝果,便引入了負(fù)載均衡的概念祝迂。

前面提到過器净,Nginx的負(fù)載均衡方式可以有很多種,如?加權(quán)輪詢(默認(rèn))?山害、IP哈希纠俭、url哈希等等浪慌,這里就以加權(quán)輪詢作為介紹。

加權(quán)輪詢,也就是通過給服務(wù)器添加各自的權(quán)重值,Nginx通過權(quán)重來進(jìn)行請求的分配,權(quán)重越高接收到的請求數(shù)量越多猴仑,反之越少:

上圖配置了三臺服務(wù)器芥被,在加權(quán)輪詢的模式下坐榆,6次不同的請求中拴魄,權(quán)重為3的服務(wù)器將會分配到3次請求席镀,權(quán)重為2的服務(wù)器會分配到2個請求匹中,權(quán)重為1的服務(wù)器則會分配到1個請求豪诲。負(fù)載均衡大大減少了在高并發(fā)的環(huán)境下服務(wù)器宕機(jī)的風(fēng)險!

2. 配置Nginx負(fù)載均衡

同樣地屎篱,打開nginx.conf文件進(jìn)行配置:

vimnginx.conf

在upstream塊中添加weight參數(shù):

upstreamhello{server服務(wù)器1:8080weight=3;# 配置服務(wù)器1的權(quán)重為3server服務(wù)器2:8080weight=1;# 配置服務(wù)器2的權(quán)重為1}

原文鏈接:

http://www.cnblogs.com/ljr825010/p/14351625.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市交播,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秦士,老刑警劉巖缺厉,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隧土,死亡現(xiàn)場離奇詭異,居然都是意外死亡次洼,警方通過查閱死者的電腦和手機(jī)遇骑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門卖毁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來落萎,“玉大人,你說我怎么就攤上這事练链∠柰眩” “怎么了媒鼓?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵错妖,是天一觀的道長。 經(jīng)常有香客問我暂氯,道長,這世上最難降的妖魔是什么亮蛔? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮究流,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芬探。我一直安慰自己,他們只是感情好灯节,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著炎疆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪形入。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天亿遂,我揣著相機(jī)與錄音浓若,去河邊找鬼蛇数。 笑死,一個胖子當(dāng)著我的面吹牛耳舅,可吹牛的內(nèi)容都是我干的碌上。 我是一名探鬼主播浦徊,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盔性!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起冕香,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛹尝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后突那,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡陨收,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了务漩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡饵骨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出居触,到底是詐尸還是另有隱情,我是刑警寧澤轮洋,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站弊予,受9級特大地震影響祥楣,放射性物質(zhì)發(fā)生泄漏汉柒。R本人自食惡果不足惜误褪,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一碾褂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧正塌,春花似錦嘀略、人聲如沸传货。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孵坚。三九已至粮宛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間巍杈,已是汗流浹背忧饭。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工筷畦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留词裤,地道東北人鳖宾。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像鼎文,于是被迫代替她去往敵國和親渔肩。 傳聞我的和親對象是個殘疾皇子拇惋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

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