Day-44 Nginx介紹

1.nginx介紹

Nginx (“engine x”) 是一個(gè)開源的、支持高性能晤锥、高并發(fā)的WWW服務(wù)和代理服務(wù)軟件倔毙。
它是由俄羅斯人IgorSysoev開發(fā)的肋演,最初被應(yīng)用在俄羅斯的大型網(wǎng)站www.rambler.ru上家厌。
后來作者將源代碼以類BSD許可證的形式開源出來供全球使用彼妻。
鏈接:http://www.reibang.com/p/1f91b3d19608

2.Nginx3大主要功能
1)網(wǎng)頁服務(wù):自身是靜態(tài)Web服務(wù)肉津,
apache,lighttpd,IIS
還支持動(dòng)態(tài)Web服務(wù)
PHP(fastcgi_pass)
JAVA(proxy_pass)
Python(uwsgi_pass)
==================================
memcache(memcache_pass)
......
2)負(fù)載均衡\反向代理
haproxy,lvs,F5,netscaler
只支持http作儿,現(xiàn)在tcp/udp洛二。
3)緩存服務(wù)器
squid,varnish
3.特點(diǎn)
2008冒頭,當(dāng)時(shí)Apache老大攻锰,Nginx如何超越對(duì)手晾嘶。
Apache 43% Nginx 42%

最大特點(diǎn):靜態(tài)小文件高并發(fā),占用資源少娶吞。軟件本身小垒迂。

企業(yè)面試時(shí)需要解答如下Nginx HTTP服務(wù)器的特色及優(yōu)點(diǎn):
1)支持高并發(fā):能支持幾萬并發(fā)連接(特別是靜態(tài)小文件業(yè)務(wù)環(huán)境)。
2)資源消耗少:在3萬并發(fā)連接下妒蛇,開啟10個(gè)Nginx線程消耗不到200MB內(nèi)存机断。
3)可以做HTTP反向代理及加速緩存,即負(fù)載均衡功能绣夺,內(nèi)置對(duì)RS節(jié)點(diǎn)服務(wù)
器健康檢查功能吏奸,這相當(dāng)于專業(yè)的haproxy軟件或lvs的功能。
具備squid等專業(yè)緩存軟件等的緩存功能陶耍。

4.Nginx主要應(yīng)用場景:
?1)靜態(tài)Web服務(wù)器:
使用Nginx運(yùn)行HTML奋蔚、JS、CSS烈钞、小圖片等靜態(tài)數(shù)據(jù)(此功能類似lighttpd軟件)泊碑。
?2)配合運(yùn)行動(dòng)態(tài)Web服務(wù)器:
Nginx結(jié)合FastCGI運(yùn)行PHP等動(dòng)態(tài)程序(例如使用fastcgi_pass方式)。
? Nginx結(jié)合proxy_pass支持Java動(dòng)態(tài)程序(tomcat/resin服務(wù))毯欣。
? Nginx結(jié)合uwsgi_pass支持Python蛾狗。
3)反向代理/負(fù)載均衡
http負(fù)載均衡
4)做Web緩存服務(wù)器(把文件放入內(nèi)存里)。

學(xué)習(xí)差異化:田忌賽馬
1)學(xué)運(yùn)維就是差異化仪媒。
2)Web服務(wù),高并發(fā)(符合時(shí)代需求)。
3)京東超越淘寶(殺出一片天空)算吩。
1.全網(wǎng)正品留凭。
2.當(dāng)天即達(dá)。
3.價(jià)格全網(wǎng)最低偎巢。

5.反向代理與負(fù)載均衡

代理:海外代購蔼夜,微商:代理:代替別人做事。

正向代理:由內(nèi)向外压昼。 代替 效率低
代替局域網(wǎng)內(nèi)PC求冷,請(qǐng)求外部應(yīng)用服務(wù)。

反向代理:由外向內(nèi) 代替 效率低
代替外部的用戶請(qǐng)求內(nèi)部的應(yīng)用服務(wù)器窍霞。

負(fù)載均衡:轉(zhuǎn)發(fā)匠题、效率高
甩手掌柜。

6.為什么Nginx總體性能比Apache高但金?
Nginx使用最新的epoll(Linux2.6內(nèi)核)和kqueue(freebsd)異步網(wǎng)絡(luò)I/O模型韭山,而Apache則使用的是傳統(tǒng)的select模型。目前Linux下能夠承受高并發(fā)訪問的Squid冷溃、Memcached軟件都采用的是epoll模型钱磅。

Apache則使用的是傳統(tǒng)的select模型,Nginx使用高并發(fā)的epoll模型

select模型:伙伴去宿舍找你,一個(gè)一個(gè)找似枕。盖淡。效率低。
epoll模型: 伙伴去宿舍找你凿歼,先問宿管大媽褪迟,看看在哪間宿舍,然后直奔具體宿舍毅往。效率高牵咙。

select模型:小孩撒尿:如果尿尿拉出來,帶著尿尿攀唯。
epoll模型: 小孩撒尿:事先告訴所有小孩洁桌,如果要尿尿,你就站出來侯嘀。
阿姨就看有沒有人站出來就可以了另凌。

7.軟件安裝
Linux系統(tǒng)如何安裝軟件?

1戒幔、rpm安裝
簡單 快吠谢。依賴多,解決依賴?yán)щy繁瑣诗茎。

2工坊、yum安裝 *****
簡單快,自動(dòng)解決依賴。不能選擇軟件版本或軟件存放路徑王污。

3罢吃、編譯安裝(源碼編譯)*****
慢 復(fù)雜 需要GCC編譯器,可以自定義安裝(版本昭齐、軟件路徑)

4尿招、將源碼制作成rpm,然后放到y(tǒng)um倉庫,實(shí)現(xiàn)yum自動(dòng)安裝阱驾。
一次性慢 復(fù)雜就谜,安裝快,可以自定義安裝(版本里覆、軟件路徑)

5丧荐、二進(jìn)制安裝

互聯(lián)網(wǎng) 就用nginx
linux系統(tǒng)安裝軟件方法:
1)yum install nginx -y(rpm包,自動(dòng)解決所有依賴軟件)
簡單租谈,沒法定制篮奄。

2)rpm -ivh rpm包(自己解決所有依賴軟件)
簡單,沒法定制割去,沒法自動(dòng)解決所有依賴軟件

3)編譯安裝(c語言)
可以定制窟却,編譯過程復(fù)雜,時(shí)間長呻逆。
./configure 配置
make 編譯
make install 安裝

4)利用源碼制作符合企業(yè)需求的rpm軟件包夸赫,放到y(tǒng)um倉庫里,最后yum安裝咖城。
簡單茬腿,可以隨意定制。
rpm包定制
http://blog.oldboyedu.com/autodeploy-rpm/
yum倉庫搭建
http://blog.oldboyedu.com/autodeploy-yum/

8.Nginx安裝
兩種安裝方法:
yum安裝:
epel源:版本低宜雀。
nginx官方源:版本高切平。
編譯安裝:1、編譯講的多辐董。2悴品、練習(xí)編譯過程
8.1 配置官方源yum安裝

[root@web ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root@web01 ~]# rpm -qa nginx
nginx-1.16.0-1.el7.ngx.x86_64
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl enable nginx
[root@web01 ~]# systemctl status nginx
[root@web01 ~]# netstat -lntup|grep nginx
tcp        0      0 0.0.0.0:80      0.0.0.0:*   LISTEN   8509/nginx: master

8.2 編譯安裝(和8.1二選一)
pcre:URL重寫軟件,即實(shí)現(xiàn)偽靜態(tài)需要這個(gè)軟件

下載:
mkdir -p /server/tools
cd /server/tools
wget http://nginx.org/download/nginx-1.16.0.tar.gz

#安裝依賴简烘。
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y  #https加密用他苔严。

#編譯安裝步驟
tar xf nginx-1.16.0.tar.gz 
cd nginx-1.16.0/
useradd -s /sbin/nologin www -M 
id www
./configure  --user=www --group=www --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module  --with-http_ssl_module --with-pcre
make 
make install
ln -s /application/nginx-1.16.0/ /application/nginx
/application/nginx/sbin/nginx 
netstat -lntup|grep nginx

注意:

1)每一步結(jié)尾直接echo $?驗(yàn)證是否正確。返回0代表步驟正確
2)驗(yàn)證最終的安裝是否正確孤澎。
wget 10.0.0.8
curl 10.0.0.8

#configure參數(shù)的作用
--prefix=PATH  路徑
--user=USER    用戶
--group=GROUP  組
--with-pcre    偽靜態(tài)
--with-http_stub_status_module 狀態(tài)
--with-http_ssl_module      加密 443

編譯安裝配置:

[root@web02 /application/nginx]# tree
.
├── conf
│   ├── fastcgi.conf         #和動(dòng)態(tài)服務(wù)的接口配置參數(shù)届氢,配合php
│   ├── fastcgi.conf.default
│   ├── fastcgi_params 
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types            #媒體類型
│   ├── mime.types.default
│   ├── nginx.conf            #主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default   #和動(dòng)態(tài)服務(wù)的接口配置參數(shù)
│   ├── uwsgi_params
│   ├── uwsgi_params.default  #和動(dòng)態(tài)服務(wù)的接口配置參數(shù),配合Python
│   └── win-utf
├── fastcgi_temp
├── html            #默認(rèn)站點(diǎn)目錄覆旭。  
│   ├── 50x.html
│   └── index.html  #默認(rèn)的首頁退子,10.0.0.8不指定文件岖妄,默認(rèn)加載index.html首頁。
├── logs
│   ├── access.log  #訪問日志
│   ├── error.log   #Nginx錯(cuò)誤日志寂祥。
│   └── nginx.pid   #進(jìn)程號(hào)對(duì)應(yīng)文件衣吠。
├── sbin
│   └── nginx       #啟動(dòng)命令。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末壤靶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惊搏,更是在濱河造成了極大的恐慌贮乳,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恬惯,死亡現(xiàn)場離奇詭異向拆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)酪耳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門浓恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人碗暗,你說我怎么就攤上這事颈将。” “怎么了言疗?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵晴圾,是天一觀的道長。 經(jīng)常有香客問我噪奄,道長死姚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任勤篮,我火速辦了婚禮都毒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘碰缔。我一直安慰自己账劲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布手负。 她就那樣靜靜地躺著涤垫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪竟终。 梳的紋絲不亂的頭發(fā)上蝠猬,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音统捶,去河邊找鬼榆芦。 笑死柄粹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的匆绣。 我是一名探鬼主播驻右,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼崎淳!你這毒婦竟也來了堪夭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤拣凹,失蹤者是張志新(化名)和其女友劉穎森爽,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嚣镜,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爬迟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了菊匿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片付呕。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖跌捆,靈堂內(nèi)的尸體忽然破棺而出徽职,到底是詐尸還是另有隱情,我是刑警寧澤疹蛉,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布活箕,位于F島的核電站,受9級(jí)特大地震影響可款,放射性物質(zhì)發(fā)生泄漏育韩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一闺鲸、第九天 我趴在偏房一處隱蔽的房頂上張望筋讨。 院中可真熱鬧,春花似錦摸恍、人聲如沸悉罕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽壁袄。三九已至,卻和暖如春媚媒,著一層夾襖步出監(jiān)牢的瞬間嗜逻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國打工缭召, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留栈顷,地道東北人逆日。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像萄凤,于是被迫代替她去往敵國和親室抽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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

  • Nginx是目前最流行的靜態(tài)Web服務(wù)軟件 1.nginx介紹 Nginx (“engine x”) 是一個(gè)開源的...
    將就灬閱讀 416評(píng)論 0 1
  • Day44: Nginx是目前最流行的靜態(tài)Web服務(wù)軟件 1.nginx介紹 Nginx (“engine x”)...
    E的彼岸閱讀 154評(píng)論 0 0
  • Nginx是目前最流行的靜態(tài)Web服務(wù)軟件 1.nginx介紹 Nginx (“engine x”) 是一個(gè)開源的...
    放手吧_e512閱讀 263評(píng)論 0 1
  • nginx服務(wù)初步 Day44: Nginx是目前最流行的靜態(tài)Web服務(wù)軟件 1.nginx介紹 Nginx (“...
    高博666閱讀 207評(píng)論 0 0
  • 看到這個(gè)題目的時(shí)候,我想了一下惑朦,然而沒有什么太好的感覺神年,我回憶不起來。結(jié)婚多年行嗤,似乎已經(jīng)忘卻對(duì)青春時(shí)期最美好事...
    相知是緣閱讀 332評(píng)論 0 0