谁说.net不上档次?让Asp.net在MAC上飞

.NET 不跨平台一直饱受争议,虽然微软前端时间放出些消息,要支持.NET跨平台的发展,但是微软一直坚持着不主动、不拒绝、不负责的三不态度,仍然用一种软件帝国的心态,折腾着一些毫无新意的东西。微软想要重新获得大众的尊重和认可,必须丢弃一些传统的观念,积极听取开发者的声音,和开发者站在一起共同发展,而这似乎看起来任重而道远。

成都创新互联公司是一家集网站建设,威远企业网站建设,威远品牌网站建设,网站定制,威远网站建设报价,网络营销,网络优化,威远网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

跨平台是一种趋势,到最后,微软也不得不低头。mono 一直在微软的白眼下发展,到如今也算是非常不错了,虽然还不能支持.NET Framework 的全部特性,但对我们来说已经够用了,目前它已经支持 C# 4.0、ASP.NET MVC 4,也有很多开源组件把是否兼容 mono 框架作为一项重要指标。

作为一个企业来讲,降低硬件设备成本是实施一套软件系统重点要考虑的事情,很多企业为了节约成本,不得不选择其他一些低造价的编程语言,如 java、 php 等,这也是园子里面某些 .neter 们自觉低人一等的重要原因,也是 javaer 们经常大骂 .net 的常用手段,有了 mono, 你可以构建更为廉价的解决方案,让那些不懂装懂,鄙视你们的人去死吧。

今天我就要把 asp.net 程序搬到 mac 上去运行。

我们都知道 asp.net 程序不能单独运行,必须把它托管到 web 应用服务器上,在 windows 上我们基本上就是 IIS,IIS非常强大,管理也方便,在 mac 上我们装不了 IIS ,但我们还有别的工具,因为不管什么 web 应用服务器他们的原理都差不多,无非就是监听 http 请求,然后根据我们设置的路由规则把请求映射并转发到对应的处理程序上。

支持 mono 的应用服务器有很多,如 apache,nginx 等。

apache 不用多说,高大上的 java 界是个人都知道的东西,但我今天用的是 nginx。nginx 通常结合 keepalive 来做负载均衡,但它也是一个非常强大的 http 服务器。

第一步,下载:

点这里去下载 nginx 。我这里选的是 1.2.9 的版本,目前最新的是 1.7.1,别问我为什么不用最新版的,因为我从 1.4.0 装到 1.7.1,没一次在我的 mac 上装成功了,我也不想折腾了,伤身啊。

第二步,解压:

下载好了,我们进入 downloads 目录解压:

 
 
  1. zhaoguihuadediannao:/ zhaogh$ cd ~/download  
  2.  
  3. zhaoguihuadediannao:downloads zhaogh$ tar nginx-1.2.9.tar.gz  

第三步,安装前的配置

 
 
  1. zhaoguihuadediannao:downloads zhaogh$ cd nginx-1.2.9  
  2.  
  3. zhaoguihuadediannao:nginx-1.2.9 zhaogh$ sudo ./configure --prefix=/usr/local --with-http_ssl_module  

这里主要是指定 nginx 的安装路径。

第四步,编译安装

 
 
  1. zhaoguihuadediannao:nginx-1.2.9 zhaogh$ sudo make  
  2.  
  3. zhaoguihuadediannao:nginx-1.2.9 zhaogh$ sudo make install  

第五步,运行测试

 
 
  1. zhaoguihuadediannao:nginx-1.2.9 zhaogh$ cd /usr/local/sbin  
  2.  
  3. zhaoguihuadediannao:sbin zhaogh$ sudo ./nginx  

在浏览器打开 http://localhost/ ,如果能看到下面几个字,那么我想恭喜你,你的努力没白费,哥看到了你的成长和进步,可哥的辛苦又有几人看到,我为了这几个字折腾了好久。

Welcome to nginx!

想要我们做的 asp.net 程序能够在 nginx 上运行,光上面几步还不行,我们还要做一些基本的配置。

第六步,编辑配置

用 vi 打开 nginx.conf  文件

 
 
  1. zhaoguihuadediannao:~ zhaogh$ cd /usr/local/conf  
  2.  
  3. zhaoguihuadediannao:conf zhaogh$ vi nginx.conf  

修改下面标颜色的内容,其他的不用动:

 
 
  1. server {  
  2. listen 80;  
  3. server_name localhost;  
  4.  
  5. #charset koi8-r;  
  6.  
  7. #access_log logs/host.access.log main;  
  8.  
  9. location / {  
  10. root html;  
  11. index index.html index.htm Default.aspx default.aspx;   
  12. fastcgi_index Default.aspx;  
  13. fastcgi_pass 127.0.0.1:9000;  
  14. include /usr/local/conf/fastcgi_params;  
  15. }  

然后修改 /usr/local/conf/fastcgi_params 文件,加上下面几行:

 
 
  1. # mono  
  2. fastcgi_param PATH_INFO "";  
  3. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

第七步,启动 fastcgi-mono-server:

 
 
  1. zhaoguihuadediannao:~ zhaogh$ fastcgi-mono-server2 /applications=localhost:/:/projects/website/ /socket=tcp:127.0.0.1:9000 

记得把 /projects/website/ 这段改成你的程序目录,这个程序我是直接用 xamarin 模板做的一个 web application 。

第八步,启动 nginx:

 
 
  1. zhaoguihuadediannao:conf zhaogh$ sudo /usr/local/sbin/nginx -s quit  
  2.  
  3. zhaoguihuadediannao:conf zhaogh$ sudo /usr/local/sbin/nginx  
  4.  
  5. zhaoguihuadediannao:conf zhaogh$   

现在我们再到浏览器上输入 http://localhost/ 看看什么结果,有图有真相,绝不忽悠。

你完全可以把你在 vs 上做的 asp.net mvc 程序用 xamarin 编译好之后,放在 nginx 上去运行,不信你可以去试一试。我们也要响应党的号召,少用或是不用 windows 系统,以后再有客户跟你说 .net 不上档次,你就让他去死吧。

本文名称:谁说.net不上档次?让Asp.net在MAC上飞
标题URL:http://www.gawzjz.com/qtweb2/news27/11277.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联