nginx安裝之前需要安裝幾個(gè)依賴項(xiàng)
一.PCRE的安裝
1.PCRE地址是:http://www.sourceforge.net/projects/pcre/files/pcre/選擇自己需要的版本,筆者使用的是最新版的8.35
2.將pcre-8.35放在/usr/local文件夾中,使用tar -zxvf pcre-8.35,同時(shí)記錄下,pcre的源代碼的地址:/usr/local/pcre-8.35
3.同時(shí)cd /usr/local/pcre-8.35
4. sudo ./configure
5.sudo make
6.sudo make install
7PCRE安裝成功
二。zlib的安裝
1. cd /usr/local
2.sudo wget http://zlib.net/zlib-1.2.8.tar.gz
3.sudo tar -zxvf? zlib-1.2.8.tar.gz
4.cd zlib-1.2.8
5.sudo ./configure
6.sudo make
7.sudo make install
8.zlib安裝成功記錄下zlib的地址 /usr/zlib-1.2.8
三。ssl的安裝
1.cd /usr/local
2.sudo wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
3.sudo tar -zxvf openssl-1.0.1c.tar.gz
4.cd openssl-1.0.1c
5.sudo? ./configure
6.sudo make
7.sudo make install
8.ssl安裝成功,記錄下地址 /usr/local/openssl-1.0.1c
四。nginx的安裝
1.cd /usr/local
2.wget http://nginx.org/download/nginx-1.4.7.tar.gz
3.sudo tar -zxvf nginx-1.4.7.tar.gz
4.cd nginx-1.4.7
5.sudo ./configure
6.sudo make
7.sudo make install --with-pcre=/usr/local/pcre-8.35? --with-zlib=/usr/zlib-1.2.8
8.最后啟動(dòng)nginx
/usr/local/nginx-1.4.7/nginx/sbin/nginx
9.在瀏覽器中輸入127.0.0.1,如果顯示
就說明nginx已經(jīng)安裝成功??!
現(xiàn)在說下nginx的安裝環(huán)境:在linux下,nginx必須是在linux 內(nèi)核2.6及其以上的版本上才能使用(因?yàn)橹挥性?.6及其以上版本上才支持epoll這樣對(duì)于解決高并發(fā)問題有較高的幫助)使用uname? -a可以查看
nginx依賴軟件
1.gcc編譯器,(一般而言,nginx并不提供二進(jìn)制可執(zhí)行程序,都是使用源碼編譯安裝的方式的,也就是說,我們需要gcc編譯器)
2.PCRE(Perl? Compatible Regular Expressions? Perl兼容正則表達(dá)式),nginx的http模塊需要該模塊解析正則表達(dá)式
3.zlib庫(kù)(該庫(kù)用于對(duì)http包內(nèi)容作zip格式的壓縮)
4.open-ssl開發(fā)庫(kù),如果我們的服務(wù)需要在安全的ssl協(xié)議上傳輸http,則需要ssl庫(kù)的支持
nginx? 進(jìn)程簡(jiǎn)介
nginx可以認(rèn)為是主從式進(jìn)程管理,因?yàn)樗幸粋€(gè)master進(jìn)程(該進(jìn)程一般是root權(quán)限,并且不做任何http請(qǐng)求處理,只負(fù)責(zé)管理worker進(jìn)程),和多個(gè)worker進(jìn)程,worker進(jìn)程
負(fù)責(zé)真正的處理http請(qǐng)求,同時(shí)worker進(jìn)程的個(gè)數(shù)一般是和cpu個(gè)數(shù)是相等的,因?yàn)閣orker進(jìn)程是單線程的,每個(gè)cpu處理一個(gè)worker進(jìn)程就不存在進(jìn)程切換的問題了,大大減少
了資源消耗,worker進(jìn)程福利的請(qǐng)求數(shù)只于內(nèi)存大小有關(guān),而如果worker進(jìn)程多于cpu個(gè)數(shù),那么我們就知道,會(huì)帶來同步問題,和進(jìn)程切換的不必要資源消耗。
這也就是nginx和apache不同的地方,apache同時(shí)只能處理一個(gè)請(qǐng)求,如果我們需要高并發(fā)則需要多個(gè)線程,(幾百甚至上千)那么帶來的進(jìn)程切換就會(huì)大大的消耗系統(tǒng)資源。
降低服務(wù)性能。