新聞中心
.NET 不跨平臺(tái)一直飽受爭議,雖然微軟前端時(shí)間放出些消息,要支持.NET跨平臺(tái)的發(fā)展,但是微軟一直堅(jiān)持著不主動(dòng)、不拒絕、不負(fù)責(zé)的三不態(tài)度,仍然用一種軟件帝國的心態(tài),折騰著一些毫無新意的東西。微軟想要重新獲得大眾的尊重和認(rèn)可,必須丟棄一些傳統(tǒng)的觀念,積極聽取開發(fā)者的聲音,和開發(fā)者站在一起共同發(fā)展,而這似乎看起來任重而道遠(yuǎn)。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),威遠(yuǎn)企業(yè)網(wǎng)站建設(shè),威遠(yuǎn)品牌網(wǎng)站建設(shè),網(wǎng)站定制,威遠(yuǎn)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,威遠(yuǎn)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
跨平臺(tái)是一種趨勢,到最后,微軟也不得不低頭。mono 一直在微軟的白眼下發(fā)展,到如今也算是非常不錯(cuò)了,雖然還不能支持.NET Framework 的全部特性,但對我們來說已經(jīng)夠用了,目前它已經(jīng)支持 C# 4.0、ASP.NET MVC 4,也有很多開源組件把是否兼容 mono 框架作為一項(xiàng)重要指標(biāo)。
作為一個(gè)企業(yè)來講,降低硬件設(shè)備成本是實(shí)施一套軟件系統(tǒng)重點(diǎn)要考慮的事情,很多企業(yè)為了節(jié)約成本,不得不選擇其他一些低造價(jià)的編程語言,如 java、 php 等,這也是園子里面某些 .neter 們自覺低人一等的重要原因,也是 javaer 們經(jīng)常大罵 .net 的常用手段,有了 mono, 你可以構(gòu)建更為廉價(jià)的解決方案,讓那些不懂裝懂,鄙視你們的人去死吧。
今天我就要把 asp.net 程序搬到 mac 上去運(yùn)行。
我們都知道 asp.net 程序不能單獨(dú)運(yùn)行,必須把它托管到 web 應(yīng)用服務(wù)器上,在 windows 上我們基本上就是 IIS,IIS非常強(qiáng)大,管理也方便,在 mac 上我們裝不了 IIS ,但我們還有別的工具,因?yàn)椴还苁裁?web 應(yīng)用服務(wù)器他們的原理都差不多,無非就是監(jiān)聽 http 請求,然后根據(jù)我們設(shè)置的路由規(guī)則把請求映射并轉(zhuǎn)發(fā)到對應(yīng)的處理程序上。
支持 mono 的應(yīng)用服務(wù)器有很多,如 apache,nginx 等。
apache 不用多說,高大上的 java 界是個(gè)人都知道的東西,但我今天用的是 nginx。nginx 通常結(jié)合 keepalive 來做負(fù)載均衡,但它也是一個(gè)非常強(qiáng)大的 http 服務(wù)器。
第一步,下載:
點(diǎn)這里去下載 nginx 。我這里選的是 1.2.9 的版本,目前最新的是 1.7.1,別問我為什么不用最新版的,因?yàn)槲覐?1.4.0 裝到 1.7.1,沒一次在我的 mac 上裝成功了,我也不想折騰了,傷身啊。
第二步,解壓:
下載好了,我們進(jìn)入 downloads 目錄解壓:
- zhaoguihuadediannao:/ zhaogh$ cd ~/download
- zhaoguihuadediannao:downloads zhaogh$ tar nginx-1.2.9.tar.gz
第三步,安裝前的配置
- zhaoguihuadediannao:downloads zhaogh$ cd nginx-1.2.9
- zhaoguihuadediannao:nginx-1.2.9 zhaogh$ sudo ./configure --prefix=/usr/local --with-http_ssl_module
這里主要是指定 nginx 的安裝路徑。
第四步,編譯安裝
- zhaoguihuadediannao:nginx-1.2.9 zhaogh$ sudo make
- zhaoguihuadediannao:nginx-1.2.9 zhaogh$ sudo make install
第五步,運(yùn)行測試
- zhaoguihuadediannao:nginx-1.2.9 zhaogh$ cd /usr/local/sbin
- zhaoguihuadediannao:sbin zhaogh$ sudo ./nginx
在瀏覽器打開 http://localhost/ ,如果能看到下面幾個(gè)字,那么我想恭喜你,你的努力沒白費(fèi),哥看到了你的成長和進(jìn)步,可哥的辛苦又有幾人看到,我為了這幾個(gè)字折騰了好久。
Welcome to nginx!
想要我們做的 asp.net 程序能夠在 nginx 上運(yùn)行,光上面幾步還不行,我們還要做一些基本的配置。
第六步,編輯配置
用 vi 打開 nginx.conf 文件
- zhaoguihuadediannao:~ zhaogh$ cd /usr/local/conf
- zhaoguihuadediannao:conf zhaogh$ vi nginx.conf
修改下面標(biāo)顏色的內(nèi)容,其他的不用動(dòng):
- server {
- listen 80;
- server_name localhost;
- #charset koi8-r;
- #access_log logs/host.access.log main;
- location / {
- root html;
- index index.html index.htm Default.aspx default.aspx;
- fastcgi_index Default.aspx;
- fastcgi_pass 127.0.0.1:9000;
- include /usr/local/conf/fastcgi_params;
- }
然后修改 /usr/local/conf/fastcgi_params 文件,加上下面幾行:
- # mono
- fastcgi_param PATH_INFO "";
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
第七步,啟動(dòng) fastcgi-mono-server:
- zhaoguihuadediannao:~ zhaogh$ fastcgi-mono-server2 /applications=localhost:/:/projects/website/ /socket=tcp:127.0.0.1:9000
記得把 /projects/website/ 這段改成你的程序目錄,這個(gè)程序我是直接用 xamarin 模板做的一個(gè) web application 。
第八步,啟動(dòng) nginx:
- zhaoguihuadediannao:conf zhaogh$ sudo /usr/local/sbin/nginx -s quit
- zhaoguihuadediannao:conf zhaogh$ sudo /usr/local/sbin/nginx
- zhaoguihuadediannao:conf zhaogh$
現(xiàn)在我們再到瀏覽器上輸入 http://localhost/ 看看什么結(jié)果,有圖有真相,絕不忽悠。
你完全可以把你在 vs 上做的 asp.net mvc 程序用 xamarin 編譯好之后,放在 nginx 上去運(yùn)行,不信你可以去試一試。我們也要響應(yīng)黨的號(hào)召,少用或是不用 windows 系統(tǒng),以后再有客戶跟你說 .net 不上檔次,你就讓他去死吧。
新聞名稱:誰說.net不上檔次?讓Asp.net在MAC上飛
當(dāng)前URL:http://fisionsoft.com.cn/article/dpcpdcs.html


咨詢
建站咨詢
