这两天在公司跟同事偶然聊到 .netCore,说到一些趋势什么的。但是说来说去自己也没试过在Linux 机子上部署过,所以就试一下。
尝试之前也在网上看了一些文章,包括 Linux 上.netCore 环境的配置,然后到 项目部署。
然后在自己操作的时候发现有些跟自己看到的一点有所不同,比如:好些文章都讲到 发布 项目的时候,在 project.json 文件改平台信息。但自己操作发现没有这样一个选项。
后来才发现,网上说的方法是 .netCore 1.0 版本的(目前已经发布了 2.0 预览版),然后自己电脑上是 1.1 版本了,已经用回vs原来的项目文件后缀。ps 本文使用的是 vs2017+.netCore 1.1.
Linux 环境是 VMware 上装的虚拟机。
直接上过程。
1.首先是环境配置
目前在微软 .netCore 的网站上各个系统环境配置过程 https://www.microsoft.com/net/core#linuxredhat
本文 使用的是 Linux MInt 18. 下面是配置过程命令
a 获取 .netCore 支持程序(直译)
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
b 安装 .netCore SDK
sudo apt-get install dotnet-dev-1.0.4
(到这里其实环境已经安装完成,但是官网里后面还有两个步骤,是创建一个demo 看看的)
c 创建一个 控制台程序 hwapp (Hello World app),创建的这个 hwapp 是以一个文件夹形式的。
dotnet new console -o hwapp
然后 打开 hwapp 文件夹:
cd hwapp
d 然后 加载依赖(dotnet restore 从 nuget 按需下载项目所需的依赖,这个还是经常用的)
dotnet restore
最后就是运行项目了
dotnet run
2. 创建项目
在上面我们已经搭建好Linux 上的.netCore 环境。接下来我们创建 项目。这里在 Windows 下创建。
我们新建一个 基本的 .netCore MVC 项目
创建完后我们直接发布
发布这里,跟 1.0 发布的界面有所不同,我们这里选择文件夹
得到 发布后的项目文件
3.转移项目文件
接下来就是把发布后的文件复制到 我们的 Linux 系统。这个复制手段有多种(镜像挂载,共享文件夹(需安装 VMware tools ),还有可以移动磁盘),本文这里用的是 优盘做中介,在windows 复制文件到 优盘 ,然后 再在虚拟机 挂载 优盘。
然后把文件夹复制到 我们Linux 的一个 目录上 。本文将文件放到 /home/meng/myapps/app4 文件夹下
4.执行程序
下面又要开始敲命令了
进入到我们程序的目录:
cd /home/meng/myapps/app4
然后 执行程序
dotnet WebApplication1.dll (没错,就直接打开 主程序的 dll 就行了)
(默认是打开 5000 端口)
其实可以像下面那样直接运行
dotnet /home/meng/myapps/app4/WebApplication1.dll
基本的发布也就这样了。第一次用 Linux 发布 程序,有种感觉,就是程序的执行比 Windows 简单多,自己的项目自己用文件夹管理好,那我们直接用命令打开对应路径下的程序,就可以直接发布,感觉简单了好多。