asp.net 在 Ngnix 服務器 中配置攻略


   Ngnix 是一個高性能的 Web 服務器 和 反向代理服務器,也可以作為負載均衡服務器;功能如此強大,性能非常優秀,天生就是天之驕子,一經出世就走上神壇,開始了一段叱吒風雲的不歸路。

   一直在微軟的陣營里面混,時間久了難免有種被束縛的感覺,就像一個人被長期封閉在市區,時間長了免不了想到郊區透透氣;以前都在用IIS 作為 Intenet服務器,正所謂近水樓台先得月,正如比較流行的 LAMP ,我們的組合拳就是 WIMA(Windows + IIS +MS SQL+ ASP.NET),當然IIS 比較強大,很多附屬的功能都被添加進去,以至於性能大打折扣,而 Ngnix 呢? 比較輕量級,船小好調頭,相比IIS更加敏捷;現在不都推崇敏捷開發,我也是敏捷的一份子。

   能使用Ngnix還得感謝Mono計划,把好多linux上面的好東東,都遷移到windows中來,吃水不忘打井人嘛,要想在Ngnix上運行asp.net,首先必須下載以下幾個東東:

  1. Ngnix for window 版本

  2. FastCGI-Mono-Server

   如果想在Ngnix 上運行asp.net,就必須要依靠FastCGI。

  1. Ngnix的安裝

   Ngnix的版本有安裝版和綠色版兩種,Ngnix安裝完以后,找到conf 目錄下的 nginx.conf ,它是Ngnix 的配置文件,以下是該文件的關鍵部分:

location / {

root aspx;                 

index Default.aspx;
}

其中 root 是需要運行網站的目錄,可以用相對路徑也可以用絕對路徑,

例如上面是用的相對路徑,相對路徑是相對與Ngnix.exe而言的,也可以直接寫 c:\aspx

index 是要運行網站的起始頁,IIS 的啟用默認文檔。 

location ~ \.aspx$ {

root aspx;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index Default.aspx;

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

include fastcgi_params;

}

root 如上所述也是運行的網站的目錄,

fastcgi_pass 就是運行FastCGI-Mono-Server的服務器地址

fastcgi_index 是運行的 FastCGI-Mono-Server的起始頁,下面的兩個參數是fastcgi的相關參數等。

到目前為止,Ngnix 服務器的安裝和配置已經完成了,萬里長征總算走完了第一步。

   2. FastCGI-Mono-Server 的安裝

   下載完以后包括兩個兩個版本:fastcgi-mono-server2 和 fastcgi-mono-server4

fastcgi-mono-server2 用來運行 .net 2.0;fastcgi-mono-server4 用來運行.net 4.0。

如果要運行asp.net 網站,需要執行以下命令:

D:\FastCGI-Mono-Server\fastcgi-mono-server2 /socket=tcp:127.0.0.1:9000 /root="D:\Program

Files\nginx\aspx" /applications=/:. /multiplex=True 

tcp:127.0.0.1:9000  就是Ngnix 配置文件中的 fastcgi 的服務器;root 是要運行的網站的目錄;applications是網站的域名,如果沒有域名,只想通過ip訪問的話可以為空不填寫。可以把上面要運行的命令做成一個bat批處理文件,這樣以后運行的話可以直接雙擊運行即可。

   3.注意事項

需要把 Mono.WebServer2.dll,Mono.Security.dll,Mono.Posix.dll ,fastcgi-mono-server2.exe

放到要運行網站的bin路徑下,當然也可以用gacutil.exe 命令 把 上面文件加載到 全局程序集緩存中。

在后台必須一直運行着下面窗口

先運行 fastcgi 服務器,再運行 Ngnix 服務器,最后輸入 http://localhost 就可以看到效果了。

網站效果:

有點簡陋,不好意思這么晚了還出來嚇唬大家,哈哈

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM