ASP.NET 5 (vNext) Linux部署(2)

Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展。在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加、移除和更新引用的工作变得更加快捷方便

 
安装Ubuntu

我们以目前比较流行的Ubuntu为例,我的配置环境是:

主机: Win8.1 和 VS2015 RC

虚拟机: VirtualBox-4.3.28-100309-Win

Linux: ubuntu-15.04-desktop-amd64

这些软件的安装过程都比较人性化了,这里不加累述.

安装完成并进入系统以后,稍微清理下左侧的快捷方式,拖出常用的终端命令,我们到如下界面,准备进入下一步的安装.

ASP.NET 5 (vNext) Linux部署

                   

安装MONO

通过下列命令行,安装MONO – 下载时间可能很长.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list

echo "deb wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list

sudo apt-get update

sudo apt-get install mono-devel

建议依次运行如果有问题重新运行有问题的命令.看到如下结果表示Mono安装完成:

ASP.NET 5 (vNext) Linux部署

如果安装没有顺利完成,请参考MONO Project网站寻找最新的安装方法.

安装DNVM

首先需要安装curl程序

sudo apt-get install curl

然后利用curl安装DNVM

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

安装完毕以后,利用dnvm升级命令获取最新运行环境

dnvm upgrade

如果遇到更新失败,可以加入-f参数强行覆盖更新.

最后运行下面的命令,确认当前安装的运行环境

dnvm list

ASP.NET 5 (vNext) Linux部署

由于目前VS2015 RC的dnx版本是1.0.0-beta4,所以这里请保证当前活跃版本就是1.0.0-beta4. (我这里装的比较杂,其实没有11855那2个也是可以的)

此外可以发现dnx和dnu 2个命令(可以在控制台运行这2个命令,看到帮助信息)都已经部署完毕,到此dnvm安装结束.

配置ASP.NET代码

在Window主机中, 利用VS 2015建立一个vNext版本的WebApi程序.

ASP.NET 5 (vNext) Linux部署

这里把这个项目命名为 WebApi2015. 建立完毕后,把程序目录打包传送到Ubuntu虚拟机.

在虚拟机任意目录解压.

另外我们再非Windows环境可以采用Visual Studio Code进行代码的编辑,这个工具非常容易安装,具体安装方法可以参考官网:

https://code.visualstudio.com/Docs/setup

虽然这个工具还不如VS方便,但比起文本编辑器还是高级了许多:

下面我们对项目文件做些调整:

ASP.NET 5 (vNext) Linux部署

加入Kestrel组件的引用,这个是Linux环境下必选的Web Server.

加入Kestrel的命令行,把启动URL设为:5000, 这个步骤是必须的,否则后续的dnx命令将无法执行.

把Project_Readme.html移入wwwroot作为一个可以展示的静态页面.

当然这些调整也可以再Windows里面先调整好,再拷贝过来.

部署和运行

打开一个终端,把当前路径设置到我们项目中的src/WebApi2015中,也就是project.json所在目录.

首先利用dnu命令进行所有相关组件的恢复操作:

dnu restore

注意这里经常因为网络问题而中断,反复执行这个命令皆可.(不要轻易强行中断这个命令,会造成坏包),直到出现大量的installing信息并完成project.lock.json文件,恢复过程才算顺利结束,如下图:

ASP.NET 5 (vNext) Linux部署

然后运行下面命令执行此ASP.NET 5程序.

dnx . kestrel

不过这个时候可能依然会报错,是因为一般新安装的系统还没有libuv组件.最终,我们还需要利用下面的命令来安装libuv组件.

sudo apt-get install automake libtool

curl -sSL https://github.com/libuv/libuv/archive/v1.4.2.tar.gz | sudo tar zxfv - -C /usr/local/src

cd /usr/local/src/libuv-1.4.2

sudo sh autogen.sh

sudo ./configure

sudo make

sudo make install

sudo rm -rf /usr/local/src/libuv-1.4.2 && cd ~/

sudo ldconfig 

安装完毕以后,再运行 dnx . kestrel , 运行通过

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7e9ec8adb99afa68f3375442e22f3097.html