一、簡要說明(高性能的反向代理服務(wù)器->web服務(wù)器)
??異步框架的網(wǎng)頁服務(wù)器杜秸,也可以用作反向代理放仗、負(fù)載平衡器和HTTP緩存。該軟件由伊戈?duì)枴べ愃饕騽?chuàng)建并于2004年首次公開發(fā)布撬碟。
??Nginx是一款面向性能設(shè)計(jì)的HTTP服務(wù)器诞挨,相較于Apache莉撇、lighttpd具有占有內(nèi)存少,穩(wěn)定性高等優(yōu)勢(shì)惶傻。
??Nginx在官方測(cè)試的結(jié)果中棍郎,能夠支持五萬個(gè)并行連接,而在實(shí)際的運(yùn)作中银室,可以支持二萬至四萬個(gè)并行連接涂佃。
主要作用:
- 給客戶端提供統(tǒng)一訪問的入口,無論后面有多少應(yīng)用服務(wù)器(如Tomcat蜈敢,處理動(dòng)態(tài)的語言辜荠、邏輯),都先訪問nginx扶认;
- 作為web服務(wù)器侨拦,對(duì)后端服務(wù)器提供負(fù)載均衡機(jī)制,負(fù)責(zé)平均分配轉(zhuǎn)發(fā)請(qǐng)求到各個(gè)應(yīng)用服務(wù)器辐宾。
二、Linux下二種源碼安裝方式
方式一:逐個(gè)手動(dòng)安裝
- Nginx安裝前膨蛮,需先安裝下面3個(gè)包
1)ssl功能需要 openssl 庫 ( 點(diǎn)擊下載 )叠纹,編譯工具及庫文件;
2)gzip模塊需要 zlib 庫 ( 點(diǎn)擊下載 )敞葛,編譯工具及庫文件誉察;
3)rewrite模塊需要 pcre 庫 ( 點(diǎn)擊下載 ),pcre作用是讓 Nginx 支持 Rewrite 功能惹谐;
- 最后下載并安裝Nginx
安裝命令
# 安裝編譯工具及庫文件openssl持偏、zlib
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
# 安裝pcre
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
pcre-config --version
# 安裝nginx
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make
make install
/usr/local/webserver/nginx/sbin/nginx -v
注:若沒有yum,需先安裝氨肌,sudo yum install yum-utils鸿秆。
方式二:shell腳本自動(dòng)化安裝
思路,下載好各安裝包怎囚、將各命令拼接成完整的自動(dòng)化.sh腳本卿叽。
后期補(bǔ)充
三、Nginx Linux基本配置及操作指令
Nginx.conf解析
- user -> 代表運(yùn)行nginx使用的用戶恳守,一般用root即可考婴;
創(chuàng)建 Nginx 運(yùn)行使用的用戶 username:
[root@ltc conf]# /usr/sbin/groupadd username
[root@ltc conf]# /usr/sbin/useradd -g username username
- worker_processes -> 指的是啟動(dòng)幾個(gè)核,代表子進(jìn)程的數(shù)量催烘,一般配置跟CPU核數(shù)一致沥阱;
linux下查看CPU核數(shù)方法
1)執(zhí)行命令cat /proc/cpu -> processor數(shù)量
2)輸入top -> 按1
- worker_cpu_affinity -> 指的是綁定哪些核。設(shè)置方法伊群,00000001 代表1核考杉,00000010 代表2核 ... 1000000000000000 代表16核策精;
- worker_rlimit_nofile -> 限制并發(fā)數(shù),指每個(gè)worker的并發(fā)數(shù)奔则;
- worker_connections -> 每個(gè)worker的連接數(shù)蛮寂;
- http 參數(shù)一般保持默認(rèn);
檢查配置文件nginx.conf的正確性命令:./nginx -t
四易茬、執(zhí)行啟動(dòng)nginx
1. 進(jìn)入sbin目錄=> cd .../nginx/sbin
2. 啟動(dòng)=> ./nginx <重復(fù)執(zhí)行該命令會(huì)報(bào)錯(cuò)>
3. 重啟=> ./nginx -s reopen
4. 重新載入配置文件=> ./nginx -s reload
5. 停止 ./nginx -s stop
五酬蹋、訪問站點(diǎn)
六、安裝中遇到的問題及解決方法
- [root@ltc sbin]# ./nginx
nginx: [warn] the number of "worker_processes" is not equal to the number of "worker_cpu_affinity" masks, using last mask for remaining worker processes
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解決方法:
修改.../nginx/conf/nginx.conf中的worker_cpu_affinity與worker_processes個(gè)數(shù)一致;
參考資料:官方資料