在 Linux 操作系统中运行 ASP.NET 4 (下)

  “在 Linux 操作系统中运行 ASP.NET 4 (中)”中已经配置好了 openSUSE 11.3 操作系统。

  现在,我们进入“GNOME 终端”,使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址。

ben@linux-nyhn:~> /sbin/ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:51:5B:0B

inet addr:192.168.1.251 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fe51:5b0b/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:853 errors:0 dropped:0 overruns:0 frame:0

TX packets:807 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:853227 (833.2 Kb) TX bytes:90376 (88.2 Kb)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:22 errors:0 dropped:0 overruns:0 frame:0

TX packets:22 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1300 (1.2 Kb) TX bytes:1300 (1.2 Kb)

ben@linux-nyhn:~> sudo vim /etc/hosts

  如上所示,再使用 vim 编辑器编辑 /etc/hosts 文件,增加一个域名 ben.skyiv.com,如下图所示:

  注意上图中的 IP 地址必须是 127.0.0.1,而不能是 192.168.1.251。在宿主机的 Windows Vista 操作系统中以管理员身份进入命令提示符,使用记事本编辑 C:\Windows\System32\drivers\etc\hosts 文件,增加一个同样的域名 ben.skyiv.com,注意此时 IP 地址必须是 192.168.1.251,而不能是 127.0.0.1,如下图所示:

  我们的 openSUSE 11.3 操作系统已经安装好了 apache 软件,但尚未启用,如下所示:

ben@linux-nyhn:~> sudo /sbin/service apache2 status

Checking for httpd2: unused

  那么,现在,让我们设置 apache 为开机随系统启动,并且现在就启动它吧:

ben@linux-nyhn:~> sudo /sbin/chkconfig -add apache2

apache2 0:off 1:off 2:off 3:on 4:off 5:on 6:off

ben@linux-nyhn:~> sudo /sbin/service apache2 start

Starting httpd2 (prefork) done

ben@linux-nyhn:~> sudo /sbin/service apache2 status

Checking for httpd2: running

  现在让我们在宿主机的 Windows Vista 操作系统的谷歌浏览器中打开 ben.skyiv.com 网站试试看吧:

  如上图所示,我们的 Apache 2.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:~> cd public_html

ben@linux-nyhn:~/public_html> vim index.html

  再次在 Windows Vista 操作系统中访问 ben.skyiv.com/~ben 网页:

  现在让我们来看看 mono 的版本:

ben@linux-nyhn:~> mono --version

Mono JIT compiler version 2.6.4 (tarball Mon Jul 5 13:53:45 UTC 2010)

Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com

TLS: __thread

GC: Included Boehm (with typed GC and Parallel Mark)

SIGSEGV: altstack

Notifications: epoll

Architecture: amd64

Disabled: none

ben@linux-nyhn:~>

ben@linux-nyhn:~> gmcs --version

Mono C# compiler version 2.6.4.0

  这个 mono 2.6.4 的版本太低了。根据 mono 官方下载页面的指示,按如下步骤进行升级:

ben@linux-nyhn:~> sudo zypper addrepo http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3 mono-stable

正在添加安装源 'mono-stable' [done]

Repository 'mono-stable' successfully added

Enabled: Yes

Autorefresh: No

URI: http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3

ben@linux-nyhn:~> sudo zypper refresh --repo mono-stable

Retrieving repository 'mono-stable' metadata [done]

正在构建 'mono-stable' 安装源缓存 [done]

Specified repositories have been refreshed.

ben@linux-nyhn:~> zypper dist-upgrade --repo mono-stable

=================> 在这里进行漫长的升级 <=================

ben@linux-nyhn:~>

  升级完成,再次查看 mono 的版本:

  果然已经升级到最新的 mono 2.8.1 版本了。

ben@linux-nyhn:~> mono --version

Mono JIT compiler version 2.8.1 (tarball Fri Nov 12 14:37:21 UTC 2010)

Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com

TLS: __thread

SIGSEGV: altstack

Notifications: epoll

Architecture: amd64

Disabled: none

Misc: debugger softdebug

LLVM: yes(2.8svn-mono)

GC: Included Boehm (with typed GC and Parallel Mark)

ben@linux-nyhn:~> dmcs --version

Mono C# compiler version 2.8.1.0

  在 Apache mod_mono configuration tool 网页可以生成运行 ASP.NET 所需要的 Apache 软件的配置文件,如下图所示:

  生成的 ben.skyiv.com.conf 文件如下所示:

<virtualhost *:80>

ServerName ben.skyiv.com

DocumentRoot /home/ben/www

# MonoServerPath can be changed to specify which version of ASP.NET is hosted

# mod-mono-server1 = ASP.NET 1.1 / mod-mono-server2 = ASP.NET 2.0

# For SUSE Linux Enterprise Mono Extension, uncomment the line below:

# MonoServerPath ben.skyiv.com "/opt/novell/mono/bin/mod-mono-server2"

# For Mono on openSUSE, uncomment the line below instead:

MonoServerPath ben.skyiv.com "/usr/bin/mod-mono-server2"

# To obtain line numbers in stack traces you need to do two things:

# 1) Enable Debug code generation in your page by using the Debug="true"

# page directive, or by setting in the

# application's Web.config

# 2) Uncomment the MonoDebug true directive below to enable mod_mono debugging

MonoDebug ben.skyiv.com true

# The MONO_IOMAP environment variable can be configured to provide platform abstraction

# for file access in Linux. Valid values for MONO_IOMAP are:

# case

# drive

# all

# Uncomment the line below to alter file access behavior for the configured application

MonoSetEnv ben.skyiv.com MONO_IOMAP=all

#

# Additional environtment variables can be set for this server instance using

# the MonoSetEnv directive. MonoSetEnv takes a string of 'name=value' pairs

# separated by semicolons. For instance, to enable platform abstraction *and*

# use Mono's old regular expression interpreter (which is slower, but has a

# shorter setup time), uncomment the line below instead:

# MonoSetEnv ben.skyiv.com MONO_IOMAP=all;MONO_OLD_RX=1

MonoApplications ben.skyiv.com "/:/home/ben/www"

<location "/">

Allow from all

Order allow,deny

MonoSetServerAlias ben.skyiv.com

SetHandler mono

SetOutputFilter DEFLATE

SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip dont-vary

</location>

<ifmodule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript

</ifmodule>

</virtualhost>

  这个 ben.skyiv.com.conf 文件需要放在 /etc/apache2/conf.d 目录下:

ben@ben:~> ll /etc/apache2/conf.d

总计 8

-rw-r--r-- 1 ben users 2037 01-04 01:21 ben.skyiv.com.conf

-rw-r--r-- 1 root root 1239 10-01 02:12 mod_mono.conf

  然后创建 /home/ben/www 目录,并重启 Apache 服务:

ben@ben:~> mkdir www

ben@ben:~> sudo /etc/init.d/apache2 restart

Syntax OK

Shutting down httpd2 (waiting for all children to terminate) done

Starting httpd2 (prefork) done

ben@ben:~>

  现在让我们建立一个网站:

ben@ben:~> cd www

ben@ben:~/www> vim index.html

  在 openSUSE 11.3 操作系统中访问 ben.skyiv.com 网站,如下图所示:

  点击上图中的“服务器信息”,出现“The resource cannot be found”错误:

  这是预料之中的,因为我们还没有编写 info.aspx 文件呢。从上图中可以看出,ASP.NET 是 2.0 版的。

  现在,我们修改 /etc/apache2/conf.d/ben.skyiv.com.conf 文件,如下所示:

ben@ben:~/www> sudo vim /etc/apache2/conf.d/ben.skyiv.com.conf

  如上图所示,将 mod-mono-server2 改为 mod-mono-server4 。然后重启 Apache 服务:

时间: 2024-09-04 09:31:44

在 Linux 操作系统中运行 ASP.NET 4 (下)的相关文章

一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4 (下)

"在 Linux 操作系统中运行 ASP.NET 4 (中)"中已经配置好了 openSUSE 11.3 操作系统. 现在,我们进入"GNOME 终端",使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址. ben@linux-nyhn:~> /sbin/ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:51:5B:0B inet addr:192.168.1.

一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4 (中)

在 Linux 操作系统中运行 ASP.NET 4(上)已经讲解了如果在 Oracle VM VirtualBox 4.0 中安装 openSUSE 11.3 操作系统.现在让我们对刚刚安装好的 openSUSE 11.3 操作系统进行必要的配置吧. 如上图所示,点击计算机 –> YaST,然后: 输入 root 口令后,点击继续,进入YaST2 Control Center: 如上图所示,点击安全和用户中的Sudo项目,进入Sudo 配置: sudo 规则: 如上图所示,点击添加按钮,进入新的

一起谈.NET技术,在 Linux 操作系统中运行 ASP.NET 4(上)

目前最流行的 Linux 操作系统发行版是 Ubuntu.但是我们这次是要在 Linux 操作系统中运行 ASP.NET 的,所以选择了 openSUSE.我准备在 Oracle VM VirtualBox 中安装 openSUSE 11.3 操作系统. 首先到 openSUSE 官方网站下载 openSUSE-11.3-DVD-x86_64.iso 文件. 然后运行 Oracle VM VirtualBox 4.0,新建一个 openSuse 虚拟机并按下图进行设置: 为了使宿主机能够从网络上

在 Linux 操作系统中运行 ASP.NET 4(上“.NET研究”)

目前最流行的 Linux 操作系统发行版是 Ubuntu.但是我们这次是要在 Linux 操作系统中运行 ASP.NET 的,所以选择了 openSUSE.我准备在 Oracle VM VirtualBox 中安装 openSUSE 11.3 操作系统. 首先到 openSUSE 官方网站下载 openSUSE-11.3-DVD-x86_64.iso 文件. 然后运行 Oracle VM VirtualBox 4.0,新建一个 openSuse 虚拟机并按下图进行设置: 为了使宿主机能够从网络上

在 Linux 操作系统中运行 ASP.NET 4 (中)

在 Linux 操作系统中运行 ASP.NET 4(上)已经讲解了如果在 Oracle VM VirtualBox 4.0 中安装 openSUSE 11.3 操作系统.现在让我们对刚刚安装好的 openSUSE 11.3 操作系统进行必要的配置吧. 如上图所示,点击计算机 –> YaST,然后: 输入 root 口令后,点击继续,进入YaST2 Control Center: 如上图所示,点击安全和用户中的Sudo项目,进入Sudo 配置: sudo 规则: 如上图所示,点击添加按钮,进入新的

在 Linux 操作系统中运行 ASP.NET 4(上)

目前最流行的 Linux 操作系统发行版是 Ubuntu.但是我们这次是要在 Linux 操作系统中运行 ASP.NET 的,所以选择了 openSUSE.我准备在 Oracle VM VirtualBox 中安装 openSUSE 11.3 操作系统. 首先到 openSUSE 官方网站下载 openSUSE-11.3-DVD-x86_64.iso 文件. 然后运行 Oracle VM VirtualBox 4.0,新建一个 openSuse 虚拟机并按下图进行设置: 为了使宿主机能够从网络上

Linux操作系统中运行ASP.NET 4

<在openSUSE下ASP.NET 4开发环境配置>中已经配置好了 openSUSE 11.3 操作系统. 现在,我们进入"GNOME 终端",使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址. ben@linux-nyhn:~> /sbin/ifconfig   eth0      Link encap:Ethernet  HWaddr 08:00:27:51:5B:0B               inet 

在 Linux“.NET研究” 操作系统中运行 ASP.NET 4 (下)

"在 Linux 操作系统中运行 ASP.NET 4 (中)"中已经配置好了 openSUSE 11.3 操作系统. 现在,我们进入"GNOME 终端",使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址. ben@linux-nyhn:~> /sbin/ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:51:5B:0B inet addr:192.168.1.

如何在Linux系统中运行ASP.NET vNext

最新的ASP.NET vNext完全开源且可以跨多个平台运行,在Windows环境下我尝试了下,几乎没花什么工夫就跑起了Sample,而在Linux环境下则要多花了不少时间,所以特别记录下整个过程,希望对其他想要尝鲜的人有所帮助. 运行环境 Ubuntu Server 14.04 VirtualBox Mono >= 3.4.1 *由于Ubuntu库中的Mono版本比较陈旧,满足不了最低要求,所以第一步要做的就是安装最新版本的Mono. 安装Mono 1. 首先从GitHub上取得mono代码: