自 Mono 1.9 以來,ASP.Net 也能通過 Mono 的 fastcgi-mono-server2 在 FastCGI
下運行了,更為可貴的是,Mono 相容 Windows ;我們可以在 Windows 下利用 lighttpd、nginx 或 Apache 等伺服器上部署
ASP.Net。
我將 Mono for Windows 的 FastCGI-Mono-Server 提取出來,你可以猛擊這裡下載。
而 Nginx 目前也支援 Windows,是部署 Web 服務器的一個非常不錯的選擇,你可以在 Nginx 的官方網站找到下載。
下面是我對 Nginx nginx.conf 的配置,藍色文字屬於關鍵內容。
worker_processes 1; error_log logs/error-debug.log info; events { worker_connections 1024; } http { include mime.types; default_type text/plain; sendfile on; keepalive_timeout 65; index index.html index.htm; server { listen 80; server_name yourdomain.com; index index.aspx default.aspx; location / { root D:\www/yourwebapp; fastcgi_pass 127.0.0.1:8000; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } } } |
然後將上面的 FastCGI-Mono-Server 提取出來,所有檔案全部註冊到 GAC(否則 Web 應用程式會找不到他們,當然你也可以直接放到
webapp/bin),然後解壓到某個檔案夾,這裡假設為 D:/FastCGI-Mono-Server。
之後我們就可以按下列命令運行 FastCGI:
fastcgi-mono-server2 /socket=tcp:127.0.0.1:8000 /root="D:\www\yourwebapp" /applications=yourdomain.com:/:. /multiplex=True |
最後執行運行 Nginx 伺服器,我們的 ASP.Net 程式就能脫離 IIS 這個臃腫的傢伙運行啦!!!
Zealic 04/01/2010