在Ubuntu上写好了一个简单的ASP.NET 5应用程序,尝试将这个程序部署在没有mono环境的CentOS服务器上。
部署步骤如下:
1)安装libuv(KestrelHttpServer需要它)
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 sh autogen.sh ./configure make make install rm -rf /usr/local/src/libuv-1.4.2 && cd ~/ ldconfig
2)安装openssl(Roslyn.Utilities.SHA1CryptoServiceProvider会用到它)
yum install -y openssl-devel
3)安装dnvm
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
dnvm update-self
4)用dnvm安装基于coreclr的dnx
dnvm upgrade -r coreclr -u
5)用git签出ASP.NET 5应用程序的源代码
6)安装ASP.NET 5应用程序所需的nuget包包
由于基于corelcr的dnu restore目前无法使用,只能使用基于mono的dnu restore,但服务器上没有mono,也不想安装mono。于是通过scp命令从开发时用的Ubuntu服务器上下载包包。
scp root@ubuntu_server:~/.dnx/packages ~/.dnx
7)通过dnx命令运行ASP.NET 5应用程序
# dnx . kestrel Started
成功!