ASP.NET网页编程之Linux操纵体系中运转ASP.NET 4
来吧!老师们!我代表千千万万的asp.net/C#的初学者在这里呼唤着!<p>《在openSUSE下ASP.NET4开辟情况设置》中已设置好了openSUSE11.3操纵体系。如今,我们进进“GNOME终端”,利用ifconfig命令考证一下本假造的IP地点就是一入手下手我们在宽领路由器中为它分派的静态地点。
ben@linux-nyhn:~>/sbin/ifconfigeth0Linkencap:EthernetHWaddr08:00:27:51:5B:0Binetaddr:192.168.1.251Bcast:192.168.1.255Mask:255.255.255.0inet6addr:fe80::a00:27ff:fe51:5b0b/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:853errors:0dropped:0overruns:0frame:0TXpackets:807errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:853227(833.2Kb)TXbytes:90376(88.2Kb)loLinkencap:LocalLoopbackinetaddr:127.0.0.1Mask:255.0.0.0inet6addr:::1/128Scope:HostUPLOOPBACKRUNNINGMTU:16436Metric:1RXpackets:22errors:0dropped:0overruns:0frame:0TXpackets:22errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RXbytes:1300(1.2Kb)TXbytes:1300(1.2Kb)ben@linux-nyhn:~>sudovim/etc/hosts如上所示,再利用vim编纂器编纂/etc/hosts文件,增添一个域名ben.skyiv.com,以下图所示:
注重上图中的IP地点必需是127.0.0.1,而不克不及是192.168.1.251。在宿主机的WindowsVista操纵体系中以办理员身份进进命令提醒符,利用记事本编纂C:WindowsSystem32driversetchosts文件,增添一个一样的域名ben.skyiv.com,注重此时IP地点必需是192.168.1.251,而不克不及是127.0.0.1,以下图所示:
我们的openSUSE11.3操纵体系已安装好了apache软件,但还没有启用,以下所示:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused那末,如今,让我们设置apache为开机随体系启动,而且如今就启动它吧:
ben@linux-nyhn:~>sudo/sbin/chkconfig-addapache2apache20:off1:off2:off3:on4:off5:on6:offben@linux-nyhn:~>sudo/sbin/serviceapache2startStartinghttpd2(prefork)doneben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:running如今让我们在宿主机的WindowsVista操纵体系的谷歌扫瞄器中翻开ben.skyiv.com网站碰运气吧:
如上图所示,我们的Apache2.2.15已一般事情在Linux/SUSE操纵体系上了。只不外如今该网站还没有内容罢了。
在openSUSE操纵体系中,Apache的默许文档是放在/srv/www/htdocs目次下的。
openSUSE操纵体系已为每一个用户创建了public_html目次,比方我的用户就是/home/ben/public_html目次,用以安排该用户的网站的内容。能够经由过程ben.skyiv.com/~ben会见,这里ben是我的用户名,以下图所示:
从上图中能够看出,这个目次是空的,必要用户本人放里放东东。那末,我们就编写以下一个index.html吧:
ben@linux-nyhn:~>cdpublic_htmlben@linux-nyhn:~/public_html>vimindex.html
再次在WindowsVista操纵体系中会见ben.skyiv.com/~ben网页:
如今让我们来看看mono的版本:
ben@linux-nyhn:~>mono--versionMonoJITcompilerversion2.6.4(tarballMonJul513:53:45UTC2010)Copyright(C)2002-2010Novell,IncandContributors.www.mono-project.comTLS:__threadGC:IncludedBoehm(withtypedGCandParallelMark)SIGSEGV:altstackNotifications:epollArchitecture:amd64Disabled:noneben@linux-nyhn:~>ben@linux-nyhn:~>gmcs--versionMonoC#compilerversion2.6.4.0这个mono2.6.4的版本太低了。依据mono官方下载页面的唆使,按以下步骤举行晋级:
ben@linux-nyhn:~>sudozypperaddrepohttp://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3mono-stable正在增加安装源"mono-stable"Repository"mono-stable"successfullyaddedEnabled:YesAutorefresh:NoURI:http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3ben@linux-nyhn:~>sudozypperrefresh--repomono-stableRetrievingrepository"mono-stable"metadata正在构建"mono-stable"安装源缓存Specifiedrepositorieshavebeenrefreshed.ben@linux-nyhn:~>zypperdist-upgrade--repomono-stable=================>在这里举行冗长的晋级<=================ben@linux-nyhn:~>晋级完成,再次检察mono的版本:
ben@linux-nyhn:~>mono--versionMonoJITcompilerversion2.8.1(tarballFriNov1214:37:21UTC2010)Copyright(C)2002-2010Novell,IncandContributors.www.mono-project.comTLS:__threadSIGSEGV:altstackNotifications:epollArchitecture:amd64Disabled:noneMisc:debuggersoftdebugLLVM:yes(2.8svn-mono)GC:IncludedBoehm(withtypedGCandParallelMark)ben@linux-nyhn:~>dmcs--versionMonoC#compilerversion2.8.1.0公然已晋级到最新的mono2.8.1版本了。
在Apachemod_monoconfigurationtool网页能够天生运转ASP.NET所必要的Apache软件的设置文件,以下图所示:
天生的ben.skyiv.com.conf文件以下所示:
<virtualhost*:80>ServerNameben.skyiv.comDocumentRoot/home/ben/www#MonoServerPathcanbechangedtospecifywhichversionofASP.NETishosted#mod-mono-server1=ASP.NET1.1/mod-mono-server2=ASP.NET2.0#ForSUSELinuxEnterpriseMonoExtension,uncommentthelinebelow:#MonoServerPathben.skyiv.com"/opt/novell/mono/bin/mod-mono-server2"#ForMonoonopenSUSE,uncommentthelinebelowinstead:MonoServerPathben.skyiv.com"/usr/bin/mod-mono-server2"#Toobtainlinenumbersinstacktracesyouneedtodotwothings:#1)EnableDebugcodegenerationinyourpagebyusingtheDebug="true"#pagedirective,orbysettinginthe#application"sWeb.config#2)UncommenttheMonoDebugtruedirectivebelowtoenablemod_monodebuggingMonoDebugben.skyiv.comtrue#TheMONO_IOMAPenvironmentvariablecanbeconfiguredtoprovideplatformabstraction#forfileaccessinLinux.ValidvaluesforMONO_IOMAPare:#case#drive#all#UncommentthelinebelowtoalterfileaccessbehaviorfortheconfiguredapplicationMonoSetEnvben.skyiv.comMONO_IOMAP=all##Additionalenvirontmentvariablescanbesetforthisserverinstanceusing#theMonoSetEnvdirective.MonoSetEnvtakesastringof"name=value"pairs#separatedbysemicolons.Forinstance,toenableplatformabstraction*and*#useMono"soldregularexpressioninterpreter(whichisslower,buthasa#shortersetuptime),uncommentthelinebelowinstead:#MonoSetEnvben.skyiv.comMONO_IOMAP=all;MONO_OLD_RX=1MonoApplicationsben.skyiv.com"/:/home/ben/www"<location"/">AllowfromallOrderallow,denyMonoSetServerAliasben.skyiv.comSetHandlermonoSetOutputFilterDEFLATESetEnvIfNoCaseRequest_URI".(?:gifjpe?gpng)$"no-gzipdont-vary</location><ifmodulemod_deflate.c>AddOutputFilterByTypeDEFLATEtext/htmltext/plaintext/xmltext/javascript</ifmodule></virtualhost>这个ben.skyiv.com.conf文件必要放在/etc/apache2/conf.d目次下:
ben@ben:~>ll/etc/apache2/conf.d总计8-rw-r--r--1benusers203701-0401:21ben.skyiv.com.conf-rw-r--r--1rootroot123910-0102:12mod_mono.conf然后创立/home/ben/www目次,偏重启Apache服务:
ben@ben:~>mkdirwwwben@ben:~>sudo/etc/init.d/apache2restartSyntaxOKShuttingdownhttpd2(waitingforallchildrentoterminate)doneStartinghttpd2(prefork)doneben@ben:~>如今让我们创建一个网站:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused0
在openSUSE11.3操纵体系中会见ben.skyiv.com网站,以下图所示:
点击上图中的“服务器信息”,呈现“Theresourcecannotbefound”毛病:
这是意料当中的,由于我们还没有编写info.aspx文件呢。从上图中能够看出,ASP.NET是2.0版的。
如今,我们修正/etc/apache2/conf.d/ben.skyiv.com.conf文件,以下所示:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused1
如上图所示,将mod-mono-server2改成mod-mono-server4。然后重启Apache服务:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused2然后从头会见ben.skyiv.com/aspx/info.aspx网页:
从上图中能够看出,已运转在ASP.NET4了。
如今,让我们来编写info.aspx程序吧:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused3网页文件aspx/info.aspx的内容以下所示:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused4对应的C#源程序src/info.aspx.cs的内容以下所示:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused5编译呼应文件src/info.rsp的内容以下所示:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused6然后就是利用以下命令举行编译了:
ben@linux-nyhn:~>sudo/sbin/serviceapache2statusCheckingforhttpd2:unused7编译完成,网站的运转效果以下图所示:
至此,我们乐成地在Linux操纵体系中运转ASP.NET4。
原文链接:http://www.ckuyun.com/skyivben/archive/2011/01/04/1925385.html
刚刚打开这篇专题,猛然见到HAL9000发表的《对于大型公司项目平台选择j2ee的几层认识》系列,深受启发。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
页:
[1]