一亡脑、基本知識(shí)
1.作者
Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器炼彪,也是一個(gè)IMAP/POP3/SMTP服務(wù)器码秉。Nginx是由伊戈?duì)枴べ愃饕驗(yàn)槎砹_斯訪問量第二的Rambler.ru站點(diǎn)(俄文:Рамблер)開發(fā)的,第一個(gè)公開版本0.1.0發(fā)布于2004年10月4日窑滞。
2.優(yōu)點(diǎn)
Nginx 是一個(gè)很強(qiáng)大的高性能它具有很多非常優(yōu)越的特性:在連接高并發(fā)的情況下,Nginx是[Apache]服務(wù)器不錯(cuò)的替代品恢筝,能夠支持高達(dá) 50,000 個(gè)并發(fā)連接數(shù)的響應(yīng)哀卫,感謝Nginx為我們選擇了 epoll and kqueue作為開發(fā)模型。
當(dāng)然優(yōu)點(diǎn)還有很多 撬槽,此處大概歸納此改,僅供參考!
3.安裝所需環(huán)境(本人為CenterOS7)
1.gcc安裝
nginx使用C語言開發(fā)侄柔,編譯Nginx的源碼依賴 gcc 環(huán)境共啃,如果沒有 gcc 環(huán)境占调,則需要安裝,安裝命令為:
yum install gcc-c++
2.PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個(gè)Perl庫移剪,包括 perl 兼容的正則表達(dá)式庫究珊。nginx 的 http 模塊使用 pcre 來解析正則表達(dá)式,所以需要在 linux 上安裝 pcre 庫挂滓,pcre-devel 是使用 pcre 開發(fā)的一個(gè)二次開發(fā)庫苦银。nginx也需要此庫。命令:
yum install -y pcre pcre-devel
3.zlib 安裝
nginx 使用 zlib 對 http 包的內(nèi)容進(jìn)行 gzip 赶站,所以需要在 Centos 上安裝 zlib 庫幔虏。
yum install -y zlib zlib-devel
4.OpenSSL 安裝
nginx 不僅支持 http 協(xié)議,還支持 https(即在ssl協(xié)議上傳輸http)贝椿,而OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫想括,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議烙博,并提供豐富的應(yīng)用程序供測試或其它目的使用瑟蜈。所以需要在 Centos 安裝 OpenSSL 庫。
yum install -y openssl openssl-devel
4.源碼下載
- 方式一渣窜、官方網(wǎng)站地址:https://nginx.org/en/download.html
- 方式二铺根、直接使用wget命令下載 (推薦選用)
1.10.1應(yīng)該是當(dāng)前的穩(wěn)定版本。如果想體驗(yàn)Nginx的其他新功能作為學(xué)習(xí)的話可以嘗試其他非穩(wěn)定發(fā)布版本乔宿。
5.解壓源碼
命令如下 對于使用Linux系統(tǒng)的人這些命令你應(yīng)該已經(jīng)熟悉到不能再熟悉了位迂,解壓源碼并進(jìn)去解壓目錄,如下:
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
5.配置
- 默認(rèn)配置(推薦使用)
./configure
- 自定義配置
由于本人暫時(shí)對于自定義配置不是很清楚详瑞,故選擇了網(wǎng)上的一個(gè)配置文件掂林,如下,僅供參考坝橡。
./configure
--prefix=/usr/local/nginx
--conf-path=/usr/local/nginx/conf/nginx.conf
--pid-path=/usr/local/nginx/conf/nginx.pid
--lock-path=/var/lock/nginx.lock
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--with-http_gzip_static_module
--http-client-body-temp-path=/var/temp/nginx/client
--http-proxy-temp-path=/var/temp/nginx/proxy
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
--http-scgi-temp-path=/var/temp/nginx/scgi
注:將臨時(shí)文件目錄指定為/var/temp/nginx泻帮,需要在/var下創(chuàng)建temp及nginx目錄
6.編譯安裝
- 查找安裝路徑(使用wget安裝的一般位于 / usr/local 下):
whereis nginx
7.啟動(dòng)、停止Nginx
切換到Nginx sbin 目錄
cd /usr/local/nginx/sbin/
執(zhí)行啟動(dòng)命令
./nginx
停止命令
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止计寇。
./nginx -s stop:此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程锣杂。
查詢nginx進(jìn)程:
ps aux|grep nginx
8.重啟Nginx
- 方式一、先停止再啟動(dòng)(推薦使用):
對 nginx 進(jìn)行重啟相當(dāng)于先停止再啟動(dòng)番宁,即先執(zhí)行停止命令再執(zhí)行啟動(dòng)命令蹲堂。如下:
./nginx -s quit
./nginx
- 方式二、重新加載配置文件:
當(dāng) ngin x的配置文件 nginx.conf 修改后贝淤,要想讓配置生效需要重啟 nginx柒竞,使用-s reload不用先停止 ngin x再啟動(dòng) nginx 即可將配置信息在 nginx 中生效,如下:
./nginx -s reload
如果80端口沒有被占用的話此時(shí)在瀏覽器中輸入服務(wù)器IP地址應(yīng)該已經(jīng)可以訪問到Nginx的首頁播聪;但是如果你的80端口已經(jīng)被占用的話就需要修改Nginx的使用端口朽基。
9.修改Nginx配置文件
進(jìn)入nginx的conf目錄 命令如下:
1.先停止再啟動(dòng)(推薦):
對 nginx 進(jìn)行重啟相當(dāng)于先停止再啟動(dòng)布隔,即先執(zhí)行停止命令再執(zhí)行啟動(dòng)命令。如下:
./nginx -s quit
./nginx
2.重新加載配置文件:
當(dāng) ngin x的配置文件 nginx.conf 修改后稼虎,要想讓配置生效需要重啟 nginx衅檀,使用-s reload不用先停止 ngin x再啟動(dòng) nginx 即可將配置信息在 nginx 中生效,如下:
vim /usr/local/nginx/conf/nginx.conf
修改文件內(nèi)容:
然后重啟Nginx,再次在瀏覽器進(jìn)行訪問霎俩,得到如下頁面代表配置安裝成功:
阿里云服務(wù)器相關(guān)配置
9.設(shè)置開機(jī)自啟動(dòng)
使用命令如下:打開文件rc.local
vim /etc/rc.local
增加 /usr/local/nginx/sbin/nginx
設(shè)置改文件執(zhí)行權(quán)限:
chmod 755 rc.local
10.項(xiàng)目部署
- 結(jié)合tomcat進(jìn)行部署哀军,修改Nginx配置文件
命令如下:
vim /usr/local/nginx/conf/nginx.conf
- 配置過程中重啟nginx時(shí)出現(xiàn)了一個(gè)異常 做下記錄,異常信息如下:
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
進(jìn)過查閱打却,確實(shí)缺少nginx.pid文件杉适,
解決方案:使用nginx -c的參數(shù)指定nginx.conf文件的位置,命令如下
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
如果感興趣可以自己去查看一下logs目錄柳击,這個(gè)文件已經(jīng)重新生成猿推。
此時(shí),指定tomcat之后你會(huì)發(fā)現(xiàn)再次訪問nginx服務(wù)器地址時(shí)會(huì)分發(fā)到你配置的那臺(tái)tomcat服務(wù)器上捌肴,至此蹬叭,基本配置結(jié)束。下一篇將講述多個(gè)tomcat的配置
以上內(nèi)容為個(gè)人學(xué)習(xí)記錄状知,供大家參考秽五,歡迎批評指正,共同進(jìn)步饥悴!