詳解Nginx服務(wù)器配置
nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點(diǎn)設(shè)計(jì)開發(fā)的。從2004年發(fā)布至今,憑借開源的力量,已經(jīng)接近成熟與完善。Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴(kuò)展。Nginx的穩(wěn)定性、功能集、示例配置文件和低系統(tǒng)資源的消耗讓他后來居上,在全球活躍的網(wǎng)站中有12.18%的使用比率,大約為2220萬個(gè)網(wǎng)站。
一、Nginx配置文件的整體結(jié)構(gòu)
1.1 全局塊
該部分配置主要影響Nginx全局,通常包括下面幾個(gè)部分:(1)配置運(yùn)行Nginx服務(wù)器用戶(組)(2)worker?process數(shù)(3)Nginx進(jìn)程PID存放路徑(4)錯(cuò)誤日志的存放路徑(5)配置文件的引入
1.2 events塊
該部分配置主要影響Nginx服務(wù)器與用戶的網(wǎng)絡(luò)連接,主要包括:(1)設(shè)置網(wǎng)絡(luò)連接的序列化(2)是否允許同時(shí)接收多個(gè)網(wǎng)絡(luò)連接(3)事件驅(qū)動(dòng)模型的選擇(4)最大連接數(shù)的配置
1.3 http塊
(1)定義MIMI-Type(2)自定義服務(wù)日志(3)允許sendfile方式傳輸文件(4)連接超時(shí)時(shí)間(5)單連接請(qǐng)求數(shù)上限
1.4 server塊
(1)配置網(wǎng)絡(luò)監(jiān)聽(2)基于名稱的虛擬主機(jī)配置(3)基于IP的虛擬主機(jī)配置
1.5 location塊
(1)location配置(2)請(qǐng)求根目錄配置(3)更改location的URI(4)網(wǎng)站默認(rèn)首頁配置
二、Nginx常用功能
2.1 Http代理,反向代理:作為web服務(wù)器最常用的功能之一,尤其是反向代理。Nginx在做反向代理時(shí),提供性能穩(wěn)定,并且能夠提供配置靈活的轉(zhuǎn)發(fā)功能。Nginx可以根據(jù)不同的正則匹配,采取不同的轉(zhuǎn)發(fā)策略,比如圖片文件結(jié)尾的走文件服務(wù)器,動(dòng)態(tài)頁面走web服務(wù)器,只要你正則寫的沒問題,又有相對(duì)應(yīng)的服務(wù)器解決方案,你就可以隨心所欲的玩。并且Nginx對(duì)返回結(jié)果進(jìn)行錯(cuò)誤頁跳轉(zhuǎn),異常判斷等。如果被分發(fā)的服務(wù)器存在異常,他可以將請(qǐng)求重新轉(zhuǎn)發(fā)給另外一臺(tái)服務(wù)器,然后自動(dòng)去除異常服務(wù)器。
2.2 負(fù)載均衡
Nginx提供的負(fù)載均衡策略有2種:內(nèi)置策略和擴(kuò)展策略。內(nèi)置策略為輪詢,加權(quán)輪詢,Ip hash。擴(kuò)展策略,就天馬行空,只有你想不到的沒有他做不到的啦,你可以參照所有的負(fù)載均衡算法,給他一一找出來做下實(shí)現(xiàn)。Ip hash算法,對(duì)客戶端請(qǐng)求的ip進(jìn)行hash操作,然后根據(jù)hash結(jié)果將同一個(gè)客戶端ip的請(qǐng)求分發(fā)給同一臺(tái)服務(wù)器進(jìn)行處理,可以解決session不共享的問題。?2.3 web緩存
Nginx可以對(duì)不同的文件做不同的緩存處理,配置靈活,并且支持FastCGI_Cache,主要用于對(duì)FastCGI的動(dòng)態(tài)程序進(jìn)行緩存。配合著第三方的ngx_cache_purge,對(duì)制定的URL緩存內(nèi)容可以的進(jìn)行增刪管理。
三、Docker容器中安裝vim
由于容器中不能打開文本類型文件,這是需下載安裝編輯器。
3.1 首先進(jìn)入容器
docker exec -ti 容器名稱 /bin/bash
例如:
docker?exec?-ti?nginx?/bin/bash
3.2 接下來更新下apt-get的源。把下面的命令全部復(fù)制粘到容器的控制臺(tái)執(zhí)行:
mv?/etc/apt/sources.list?/etc/apt/sources.list.bak?&&?\????echo?"deb?http://mirrors.163.com/debian/?jessie?main?non-free?contrib"?>/etc/apt/sources.list?&&?\????echo?"deb?http://mirrors.163.com/debian/?jessie-proposed-updates?main?non-free?contrib"?>>/etc/apt/sources.list?&&?\????echo?"deb-src?http://mirrors.163.com/debian/?jessie?main?non-free?contrib"?>>/etc/apt/sources.list?&&?\????echo?"deb-src?http://mirrors.163.com/debian/?jessie-proposed-updates?main?non-free?contrib"?>>/etc/apt/sources.list
3.3?更新安裝源
apt-get?update
3.4 執(zhí)行命令:
apt-get?install?vim?-y
四、本篇未完待續(xù)
明天更新《Nginx代理服務(wù)器的配置》。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。