十分鐘入門Nginx基本功能

本文主要介紹一些Nginx的最基本功能以及簡單配置己单,但不包括Nginx的安裝部署以及實現(xiàn)原理塞淹。廢話不多玲昧,直接開始栖茉。

1篮绿、靜態(tài)HTTP服務器

首先孵延,Nginx是一個HTTP服務器,可以將服務器上的靜態(tài)文件(如HTML亲配、圖片)通過HTTP協(xié)議展現(xiàn)給客戶端尘应。
配置:

server {
    listen 80; # 端口號
    location / {
        root /usr/share/nginx/html; # 靜態(tài)文件路徑
    }
}

2、反向代理服務器

什么是反向代理吼虎?

客戶端本來可以直接通過HTTP協(xié)議訪問某網(wǎng)站應用服務器犬钢,如果網(wǎng)站管理員在中間加上一個Nginx,客戶端請求Nginx思灰,Nginx請求應用服務器玷犹,然后將結果返回給客戶端,此時Nginx就是反向代理服務器洒疚。


1.png

配置:

server {
    listen 80;
    location / {
        proxy_pass http://192.168.20.1:8080; # 應用服務器HTTP地址
    }
}

既然服務器可以直接HTTP訪問歹颓,為什么要在中間加上一個反向代理,不是多此一舉嗎油湖?反向代理有什么作用巍扛?繼續(xù)往下看,下面的負載均衡乏德、虛擬主機撤奸,都基于反向代理實現(xiàn)吠昭,當然反向代理的功能也不僅僅是這些。

3胧瓜、負載均衡

當網(wǎng)站訪問量非常大矢棚,網(wǎng)站站長開心賺錢的同時,也攤上事兒了府喳。因為網(wǎng)站越來越慢幻妓,一臺服務器已經(jīng)不夠用了。于是將相同的應用部署在多臺服務器上劫拢,將大量用戶的請求分配給多臺機器處理肉津。同時帶來的好處是,其中一臺服務器萬一掛了舱沧,只要還有其他服務器正常運行妹沙,就不會影響用戶使用。

Nginx可以通過反向代理來實現(xiàn)負載均衡熟吏。


2.jpg

配置:

upstream myapp {
    server 192.168.20.1:8080; # 應用服務器1
    server 192.168.20.2:8080; # 應用服務器2
}
server {
    listen 80;
    location / {
        proxy_pass http://myapp;
    }
}

4距糖、虛擬主機

網(wǎng)站訪問量大,需要負載均衡牵寺。然而并不是所有網(wǎng)站都如此出色悍引,有的網(wǎng)站,由于訪問量太小帽氓,需要節(jié)省成本趣斤,將多個網(wǎng)站部署在同一臺服務器上。

例如將 www.aaa.comwww.bbb.com 兩個網(wǎng)站部署在同一臺服務器上黎休,兩個域名解析到同一個IP地址浓领,但是用戶通過兩個域名卻可以打開兩個完全不同的網(wǎng)站,互相不影響势腮,就像訪問兩個服務器一樣联贩,所以叫兩個虛擬主機。

server {
    listen 80 default_server;
    server_name _;
    return 444; # 過濾其他域名的請求捎拯,返回444狀態(tài)碼
}
server {
    listen 80;
    server_name www.aaa.com; # www.aaa.com域名
    location / {
        proxy_pass http://localhost:8080; # 對應端口號8080
    }
}
server {
    listen 80;
    server_name www.bbb.com; # www.bbb.com域名
    location / {
        proxy_pass http://localhost:8081; # 對應端口號8081
    }
}

在服務器8080和8081分別開了一個應用泪幌,客戶端通過不同的域名訪問,根據(jù)server_name可以反向代理到對應的應用服務器署照。

虛擬主機的原理是通過HTTP請求頭中的Host是否匹配server_name來實現(xiàn)的祸泪,有興趣的同學可以研究一下HTTP協(xié)議。

另外藤树,server_name配置還可以過濾有人惡意將某些域名指向你的主機服務器浴滴。

5、FastCGI

Nginx本身不支持PHP等語言岁钓,但是它可以通過FastCGI來將請求扔給某些語言或框架處理(例如PHP升略、Python微王、Perl)。

server {
    listen 80;
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /PHP文件路徑$fastcgi_script_name; # PHP文件路徑
        fastcgi_pass 127.0.0.1:9000; # PHP-FPM地址和端口號
        # 另一種方式:fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

配置中將.php結尾的請求通過FashCGI交給PHP-FPM處理品嚣,PHP-FPM是PHP的一個FastCGI管理器炕倘。有關FashCGI可以查閱其他資料,本文不再介紹翰撑。

fastcgi_pass和proxy_pass有什么區(qū)別罩旋?下面一張圖帶你看明白:


3.jpg
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市眶诈,隨后出現(xiàn)的幾起案子涨醋,更是在濱河造成了極大的恐慌,老刑警劉巖逝撬,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浴骂,死亡現(xiàn)場離奇詭異,居然都是意外死亡宪潮,警方通過查閱死者的電腦和手機溯警,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來狡相,“玉大人梯轻,你說我怎么就攤上這事【∽兀” “怎么了喳挑?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長萄金。 經(jīng)常有香客問我蟀悦,道長媚朦,這世上最難降的妖魔是什么氧敢? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮询张,結果婚禮上孙乖,老公的妹妹穿的比我還像新娘。我一直安慰自己份氧,他們只是感情好唯袄,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蜗帜,像睡著了一般恋拷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厅缺,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天蔬顾,我揣著相機與錄音宴偿,去河邊找鬼。 笑死诀豁,一個胖子當著我的面吹牛窄刘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播舷胜,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼娩践,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了烹骨?” 一聲冷哼從身側(cè)響起翻伺,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沮焕,沒想到半個月后穆趴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡遇汞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年未妹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片空入。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡络它,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出歪赢,到底是詐尸還是另有隱情化戳,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布埋凯,位于F島的核電站点楼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏白对。R本人自食惡果不足惜掠廓,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望甩恼。 院中可真熱鬧蟀瞧,春花似錦、人聲如沸条摸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钉蒲。三九已至切端,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間顷啼,已是汗流浹背踏枣。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工小压, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椰于。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓怠益,卻偏偏與公主長得像瘾婿,于是被迫代替她去往敵國和親抢呆。 傳聞我的和親對象是個殘疾皇子抱虐,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

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

  • Nginx簡介 解決基于進程模型產(chǎn)生的C10K問題,請求時即使無狀態(tài)連接如web服務都無法達到并發(fā)響應量級一萬的現(xiàn)...
    魏鎮(zhèn)坪閱讀 2,003評論 0 9
  • 這篇是Nginx安裝配置PHP(FastCGI)環(huán)境的教程。Nginx不支持對外部程序的直接調(diào)用或者解析乳附,所有的外...
    SkTj閱讀 3,094評論 2 20
  • 《老男孩Linux運維》筆記 隱藏Nginx軟件版本號 一般來說,軟件的漏洞都和版本有關。因此要盡量隱藏對訪問用戶...
    Zhang21閱讀 3,642評論 0 28
  • Nginx有什么作用呢? Ngnix作為一款高性能的HTTP服務器沃粗、反向代理服務器最盅、電子郵件代理服務器咏删,主要有三方...
    JunChow520閱讀 3,146評論 1 14
  • I/O模型Nginx介紹Nginx的安裝和目錄結構Nginx的配置Nginx的編譯安裝 一、I/O模型 (一)I/...
    哈嘍別樣閱讀 894評論 0 4