NGINX介紹

一该面、環(huán)境調(diào)試確認(rèn)

安裝

??yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
??yum -y install wget httpd-tools vim

一次初始化

??mkdir app download logs work backup

關(guān)閉iptables規(guī)則

??iptables -L
??iptables -F
??iptables -t nat -L
??iptables -t nat -F
??關(guān)于iptables的介紹,大家可以看看http://www.zsythink.net/archives/1199/這篇文章信卡,講的非常好

關(guān)閉selinux

??getenforce如果顯示不是Disabled那么就要執(zhí)行setenforce 0

二隔缀、Nginx是什么

Nginx是一個(gè)開(kāi)源且高性能、可靠的HTTP中間件傍菇、代理服務(wù)

三猾瘸、常見(jiàn)的HTTP服務(wù)

常見(jiàn)的HTTP服務(wù)

四、為什么選擇Nginx

原因一:采用IO多路復(fù)用epoll模型

什么epoll模型丢习,我們先看看一張圖:


epoll模型

??圖中畫(huà)出了硬件的4個(gè)部分牵触,如果我們想和硬件打交道,則需要軟件咐低,我們的Nginx在接受到了外部請(qǐng)求之后會(huì)使用Linux內(nèi)核中的epoll模型與硬件打交道揽思,epoll是一個(gè)高效的處理IO復(fù)用的內(nèi)核模型。那么這里的關(guān)鍵就是處理IO復(fù)用见擦,那么什么是IO復(fù)用呢钉汗?看下一張圖:


IO復(fù)用

??在早期的時(shí)候面對(duì)用戶的一個(gè)請(qǐng)求羹令,會(huì)產(chǎn)生一個(gè)socket流,然后要對(duì)用的socket流進(jìn)行處理损痰。我們假設(shè)這個(gè)時(shí)候我們只有一個(gè)線程去面對(duì)大并發(fā)的請(qǐng)求福侈,第一個(gè)請(qǐng)求的到來(lái)會(huì)占有這個(gè)線程,假設(shè)這個(gè)流的數(shù)據(jù)沒(méi)有完全達(dá)到服務(wù)器卢未,那么線程會(huì)一直等待(干等)肪凛,什么事情也不能干,而且也阻塞了其他的請(qǐng)求尝丐。那么這個(gè)時(shí)候我們可以相處兩個(gè)方案显拜,第一個(gè)方案就是使用多線程,同時(shí)處理多個(gè)請(qǐng)求爹袁,但是這樣做同樣也會(huì)消費(fèi)很多資源,無(wú)法滿足大量的并發(fā)失息,這個(gè)時(shí)候第二個(gè)方案出現(xiàn)了譬淳,它就是使用一個(gè)線程采用IO復(fù)用模式。
IO流非阻塞模式的偽代碼實(shí)現(xiàn)

一個(gè)for循環(huán)不斷的去遍歷所有的流盹兢,如果有數(shù)據(jù)了就讀取邻梆,否則就去遍歷下一個(gè)流,假設(shè)所有的流沒(méi)有數(shù)據(jù)绎秒,只會(huì)白白浪費(fèi)CPU浦妄。


IO復(fù)用內(nèi)核模式種類(lèi)

通過(guò)上圖我們可以看到IO復(fù)用內(nèi)核模式的種類(lèi)以及演變。接下來(lái)我們來(lái)講講這3中模型见芹。
select模型

select相比于之前的偽代碼就多了一步剂娄,只有在流中有數(shù)據(jù)的時(shí)候,才開(kāi)始讀取數(shù)據(jù)玄呛,這樣就不會(huì)讓CPU白白空跑阅懦。
epoll模型優(yōu)勢(shì)

原因二:CPU親和

??CPU親和是把CPU核心和Nginx工作進(jìn)程進(jìn)行綁定的一種方式,把每個(gè)worker綁定到一個(gè)cpu上執(zhí)行徘铝,減少切換cpu的cache miss,獲得更好的性能耳胎。

原因三:sendFile

sendFile

??文件的傳輸不再通過(guò)內(nèi)核態(tài)到用戶態(tài),然后在由用戶態(tài)傳遞到內(nèi)核態(tài)在傳遞給socket惕它,取而代之的是怕午,直接走內(nèi)核態(tài)的buffer cache,減少一次拷貝淹魄。

五郁惜、Nginx的快速安裝

??官方網(wǎng)址:http://nginx.org/

步驟一:

??cat /proc/version或者lsb_release -a查看操作系統(tǒng)的版本
??詳細(xì)的安裝步驟在這個(gè)頁(yè)面:http://nginx.org/en/linux_packages.html

步驟二:

??vim /etc/yum.repos.d/nginx.repo

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

步驟三:

??yum install nginx

步驟四:查看安裝是否成功

??nginx -v查看nginx的版本
??nginx -V查看nginx的安裝編譯參數(shù)

六.Nginx的目錄和配置語(yǔ)法

安裝目錄詳解:

我們使用yum安裝nginx之后,其實(shí)裝的就是nginx的一堆rpm包揭北,通過(guò)rpm -ql nginx命令我們可以看看到底裝了一些什么東西扳炬,而且都放在什么目錄下。

路徑 類(lèi)型 作用
/etc/logrotate.d/nginx 配置文件 Nginx日志輪轉(zhuǎn)搔体,用于logrotate服務(wù)的日志切割
/etc/nginx /etc/nginx/nginx.conf /etc/nginx/conf.d /etc/nginx/conf.d/default.conf 目錄恨樟、配置文件 Nginx主配置文件
/etc/nginx/fastcgi_params /etc/nginx/uwsgi_params /etc/nginx/scgi_params 配置文件 cgi配置相關(guān),fastcgi配置
/etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf 配置文件 編碼轉(zhuǎn)換映射轉(zhuǎn)化文件
/etc/nginx/mime.types 配置文件 設(shè)置http協(xié)議的content-type與擴(kuò)展名對(duì)應(yīng)關(guān)系
/usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /etc/sysconfig/nginx /etc/sysconfig-debug 配置文件 用于配置出系統(tǒng)守護(hù)進(jìn)程管理器管理方式
/usr/lib64/nginx/modules /etc/nginx/modules 目錄 nginx模塊目錄
/usr/sbin/nginx /usr/sbin/nginx-debug 命令 nginx服務(wù)的啟動(dòng)管理的終端命令
/var/cache/nginx 目錄 nginx的緩存目錄
/var/log/nginx 目錄 nginx的日志目錄

nginx.conf是啟動(dòng)的時(shí)候要用到的配置文件疚俱,default.conf是ngxin沒(méi)有變動(dòng)的時(shí)候的默認(rèn)配置文件

安裝編譯參數(shù):





默認(rèn)配置語(yǔ)法

vi /etc/nginx/nginx.conf會(huì)看到以下信息:



http-核心配置

默認(rèn)配置和默認(rèn)站點(diǎn)啟動(dòng)

??命令:systemctl restart nginx.service

??額外補(bǔ)充一下systemctl的相關(guān)知識(shí)劝术。Systemd 并不是一個(gè)命令,而是一組命令呆奕,涉及到系統(tǒng)管理的方方面面,systemctl是 Systemd 的主命令养晋,用于管理系統(tǒng)。

# 立即啟動(dòng)一個(gè)服務(wù)
$ sudo systemctl start nginx.service

# 立即停止一個(gè)服務(wù)
$ sudo systemctl stop nginx.service

# 重啟一個(gè)服務(wù)
$ sudo systemctl restart nginx.service

# 殺死一個(gè)服務(wù)的所有子進(jìn)程
$ sudo systemctl kill nginx.service

# 重新加載一個(gè)服務(wù)的配置文件
$ sudo systemctl reload nginx.service

??我們看到nginx.conf配置文件中的http中的include包含了default.conf梁钾,這里面配置了很多上圖的一些配置绳泉,其中的location /表示說(shuō),當(dāng)只輸入域名不輸入任何路徑的時(shí)候姆泻,默認(rèn)會(huì)到root配置的目錄中去找index配置中的那些文件零酪。error_page定義了異常應(yīng)答碼的時(shí)候,會(huì)主動(dòng)到location對(duì)應(yīng)的root中去找對(duì)應(yīng)的文件拇勃。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末四苇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子方咆,更是在濱河造成了極大的恐慌月腋,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瓣赂,死亡現(xiàn)場(chǎng)離奇詭異榆骚,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)钩述,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)寨躁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人牙勘,你說(shuō)我怎么就攤上這事职恳。” “怎么了方面?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵放钦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我恭金,道長(zhǎng)操禀,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任横腿,我火速辦了婚禮颓屑,結(jié)果婚禮上斤寂,老公的妹妹穿的比我還像新娘。我一直安慰自己揪惦,他們只是感情好遍搞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著器腋,像睡著了一般溪猿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纫塌,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天诊县,我揣著相機(jī)與錄音,去河邊找鬼措左。 笑死依痊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怎披。 我是一名探鬼主播抗悍,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼钳枕!你這毒婦竟也來(lái)了缴渊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鱼炒,失蹤者是張志新(化名)和其女友劉穎衔沼,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體昔瞧,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡指蚁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了自晰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凝化。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖酬荞,靈堂內(nèi)的尸體忽然破棺而出搓劫,到底是詐尸還是另有隱情,我是刑警寧澤混巧,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布枪向,位于F島的核電站,受9級(jí)特大地震影響咧党,放射性物質(zhì)發(fā)生泄漏秘蛔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望深员。 院中可真熱鬧负蠕,春花似錦、人聲如沸倦畅。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)滔迈。三九已至,卻和暖如春被辑,著一層夾襖步出監(jiān)牢的瞬間燎悍,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工盼理, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谈山,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓宏怔,卻偏偏與公主長(zhǎng)得像奏路,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子臊诊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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