其实在.net core github上有教程的,我也是跟着教程学的。
https://dotnet.github.io/
首先准备一个linux环境,我是在虚拟机上装了一个ubuntu server 16.04,
然后我把网络类型设置为了桥接,并分配了一个局域网IP,这样我就可以从局域网访问这台虚拟机了。
设置数据源:
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list' sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893 sudo apt-get update
安装.netcore运行环境
sudo apt-get install dotnet-dev-1.0.1
安装完成后,你执行dotnet命令应该有版本和使用提示输出。
然后怎么把我们的应用传上去呢。
首先,我们在linux上建一个目录,比如我建的/home/Projects/FirstCore
然后给linux安装sshserver,我们本地准备一个ssh client。(安装sshserver 请自行百度)
然后打开visualstudio 打开你的项目。
把你的项目的Program.cs文件做如下修改
在这里增加了UseUrls方法,因为默认是只能localhost访问,所以我们把IP地址改为任意IP。
选择菜单里的生成-发布。
发布目标选 文件夹并配置好你的目标文件夹。
然后点发布按钮就行了。
当然,你也可以在命令行下敲命令:
进入项目所在目录: dotnet publish -c Release
如果代码没有错误,会在 <你的项目>inRelease etcoreapp1.1 中多了一个 publish 目录
把这个目录下的内容上传到 linux 的 /home/Projects/FirstCore 目录中。
然后进入/home/Projects/FirstCore 目录 ,执行 : dotnet <你项目名称>.dll
这时候应该能看到你的项目
然后你从你本机可以访问了
但是这种状态下,你一断开连接,或者退出命令行,进程就会退出。
所以我们把进程放到后台执行。
nohup dotnet <你项目名称>.dll &
然后敲两次回车。
这样就算你断开连接,进程也还在。