資源描述:
《linux、mono、nginx高并發(fā)實(shí)踐》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Linux、Mono、Nginx高并發(fā)實(shí)踐??在Linux上部署網(wǎng)站需要先安裝Web服務(wù)器端軟件,IIS只能在windows上使用,相對(duì)的我們可以選擇著名的apache、Ngnix等。本文將簡(jiǎn)單Nginx的安裝、配置以及利用其運(yùn)行一個(gè)簡(jiǎn)單的Asp.net網(wǎng)站。Nginx??Nginx(EngineX)是一個(gè)高性能的Web服務(wù)器,由于其穩(wěn)定、功能豐富、低資源消耗等特點(diǎn),已經(jīng)有很多網(wǎng)站利用它進(jìn)行部署(國(guó)內(nèi)不少大公司開(kāi)始利用nginx取代apache,畢竟LAMP太教條化了)。Nginx安裝 本文將從源碼開(kāi)始安裝nginx目前最新版為1.2.0,所有的
2、安裝過(guò)程都是在Ubuntu操作系統(tǒng)下進(jìn)行的。首先下載源碼:wgethttp://nginx.org/download/nginx-1.2.0.tar.gz然后解壓tar-zxv-fnginx-1.2.0.tar.gz進(jìn)入解壓的目錄后接著執(zhí)行./configure碰到了PCRELibrary沒(méi)有安裝的問(wèn)題利用??apt-getinstalllibpcre3libpcre3-dev命令安裝PCRE庫(kù)再次運(yùn)行./configure?發(fā)現(xiàn)缺乏Httpgzip模塊執(zhí)行:apt-get?install?libssl-dev安裝對(duì)應(yīng)的模塊。再次運(yùn)行./confi
3、gure??接著依次運(yùn)行makemakeinstall這樣就完成了Nginx的安裝,默認(rèn)安裝在/usr/local/nginx下。使用以下命令啟動(dòng)Nginx/usr/local/nginx/sbin/nginx?測(cè)試Nginx?Nginx默認(rèn)以Deamon進(jìn)程啟動(dòng),輸入下列命令測(cè)試是否啟動(dòng)成功:curl-ihttp://localhost/成功安裝后會(huì)得到以下結(jié)果:如果出現(xiàn)以上信息,恭喜你Nginx安裝成功。如果想停止運(yùn)行Nginx可以利用以下命令:/usr/local/nginx/sbin/nginx-sstop配置Nginx??nginx的配置
4、文件是純文本文件,主配置文件默認(rèn)放在安裝目錄下的conf文件夾中。conf下有很多的配置文件,其中nginx.conf為主配置文件。整個(gè)配置文件以block的形式組織,每一個(gè)"{}"及其內(nèi)容就代表一個(gè)block.block可以分為幾個(gè)層次,整個(gè)配置文件中main指令位于最高層,在main層下面可以有Events、HTTP等層級(jí),而在HTTP層中又包含有server層,即serverblock,serverblock中又可分為location層,并且一個(gè)serverblock中可以包含多個(gè)locationblock.??打開(kāi)配置文件在Http配置塊內(nèi)
5、添加:include/usr/local/nginx/conf/monotest.conf;說(shuō)明:這里利用include命令將虛擬主機(jī)Server節(jié)的配置移動(dòng)到單獨(dú)的文件中方便管理,空格后面緊跟的是文件路徑。(不要忘記分號(hào)“;”).Monotest.conf的配置如下:server{listen8001;server_namelocalhost;location/{root/home/ubuntu/www/monotest/;indexdefault.aspxDefault.aspx;fastcgi_indexDefault.aspx;fastcg
6、i_pass127.0.0.1:9001;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;include/usr/local/nginx/conf/fastcgi_params;}}server表示我們配置的虛擬主機(jī),listen指定服務(wù)監(jiān)聽(tīng)的端口(通常為80),這里我們指定為8001;server_name用來(lái)指定IP地址或者域名,多個(gè)域名之間用空格分開(kāi);location可以用于匹配URL,其語(yǔ)法為location[=
7、~
8、~*
9、^~]/uri/{…}·location
10、??/{?}?匹配任何查詢,因?yàn)樗姓?qǐng)求都以/開(kāi)頭。但是正則表達(dá)式規(guī)則將被優(yōu)先和查詢匹配?!ocation=/{}?僅僅匹配/·location~*.(gif
11、jpg
12、jpeg)${}?不區(qū)分大小寫(xiě)匹配任何以gif,jpg,jpeg結(jié)尾的文件root表示站點(diǎn)的路徑;index?表示配置的默認(rèn)頁(yè)。fastcgi_pass?,表示FastCgi服務(wù)啟動(dòng)時(shí)所采用的地址?Nginx并不直接支持外部程序到調(diào)用或解析(IIS則可以直接調(diào)用IASPI進(jìn)行擴(kuò)展),需要通過(guò)FastCGI接口來(lái)調(diào)用。在Linux下FastCGI利用的是Socket,所以我們需要指
13、定地址和綁定端口。啟動(dòng)站點(diǎn) 啟動(dòng)站點(diǎn)需要分別啟動(dòng)nginx和fastcgi服務(wù)。首先啟動(dòng)nginx輸入文章開(kāi)始的/usr