windows 下开发的 .netCore MVC 部署到 Linux(Mint)
这两天在公司跟同事偶然聊到 .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 简单多,自己的项目自己用文件夹管理好,那我们直接用命令打开对应路径下的程序,就可以直接发布,感觉简单了好多。
windows 下开发的 .netCore MVC 部署到 Linux(Mint)的更多相关文章
- [MapReduce_add_1] Windows 下开发 MapReduce 程序部署到集群
0. 说明 Windows 下开发 MapReduce 程序部署到集群 1. 前提 在本地开发的时候保证 resource 中包含以下配置文件,从集群的配置文件中拷贝 在 resource 中新建 ...
- Linux下与Windows下开发软件
Linux下开发程序可以完全发挥自己的聪明才智,因为系统内核是完全开放的.Windows下开发程序就稍微郁闷一点,不论何种语言都必须在调用系统API的基础上开发,因为系统内核是不开放的. 这两种系统正 ...
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...
- windows下开发PHP扩展dll(无需Cygwin)
windows下开发php扩展网上很多资料都说需要Cygwin,其实完全可以不必安装该东东.没错,是可以在linux下生成骨架后拷到windos下来用,但是,如果没有linux环境呢?什么,装虚拟机? ...
- windows下Redis 主从读写分离部署
原文:windows下Redis 主从读写分离部署 1.可直接下载window下的运行文件(下面这个链接) 也可以浏览github 查看相应的版本说明文档 https://github.com/Ser ...
- gcc和MinGW的异同(在cygwin/gcc做的东西可以无缝的用在linux下,没有任何问题,是在windows下开发linux程序的一个很好的选择)
cygwin/gcc和MinGW都是gcc在windows下的编译环境,但是它们有什么区别,在实际工作中如何选择这两种编译器. cygwin/gcc完全可以和在linux下的gcc化做等号,这个可以从 ...
- [转帖]Windows下cwRsyncServer双机连续同步部署
Windows下cwRsyncServer双机连续同步部署 https://www.cnblogs.com/nulige/p/7607503.html 找时间做一下测试 应该能更好的实现 自动部署的功 ...
- .netcore项目部署到linux的docker里后,速度异常的慢
.netcore项目部署到linux的docker里后,速度异常的慢,部署在iis下速度非常快. 特别是 接口里再调用其他接口,那速度绝对是蜗牛爬行的速度. 经过几个月的折腾,终于知道是什么问题了: ...
- Linux 如何使用压缩与解压缩的方式将Windows下的zip压缩包上传到Linux系统
当我们无法使用xftp方式上传文件到Linux系统时,我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩 ...
随机推荐
- 【CCPC-Wannafly Winter Camp Day4 (Div1) C】最小边覆盖(简单题)
点此看题面 大致题意: 给你一个边集的子集,问你这可不可能是这张图的最小边覆盖. 大致思路 考虑到,如果一条边连接的两个点度数都大于等于\(2\),则这条边完全可以删去. 因此,我们只要判断是否存在这 ...
- 预处理-04-#if defined和#if !defined
因为对于一个大程序而言,我们可能要定义很多常量( 不管是放在源文件还是头文件 ),那么我们有时考虑定义某个常量时,我们就必须返回检查原来此常量是否定义,但这样做很麻烦. if defined 宏正是为 ...
- Mac下安装OpenCV3.0和Anaconda和环境变量设置
入手Mac几天了,想在Mac OS下玩玩OpenCV和keras,间歇捣鼓了两天,终于搞定zsh.OpenCV3.0以及Anaconda.OpenCV3.0刚发布不久,这方面的资料也不是很多,能够查到 ...
- 基于建模的视觉定位(SFM-Based Positioning)
具体方法来自我参与的这篇journal: Vision-Based Positioning for Internet-of-Vehicles, IEEE Transactions on Intelli ...
- jQuery实现轮播切换以及将其封装成插件(1)
我们在网上经常会看到一些轮播切换的效果.轮播切换,就是在一个有限的空间中定时的像走马灯一样去播放一组图片,当然也可以通过鼠标悬停在小按钮上来切换显示.下面我们将一步一步的实现这一效果. 为保证效果,请 ...
- System.Web.UI.HtmlControls
用来创建一个标签.HtmlContainerControl 一般用此类来新建标签. 可能我们熟悉System.Web.UI.WebControls;空间.System.Web.UI.WebContro ...
- javaScript校验图片大小、格式
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- 用dockers实现mysql主从同步
首先要先看看当前的mysql的版本是什么,可以通过下面命令查看 mysql --version 最好是安装在docker中的mysql和你宿主机器中的mysql版本一致. 我的是mysql5.7.22 ...
- ElasticSearch 集群原理
节点 一个运行中的EasticSearch 被称为一个节点,而集群是由多个用于拥有相同cluster.name配置的节点组成,它们共同承担数据和负载的压力,当有新的节点加入或移除,集群会重新平均分布所 ...
- activemq启动闪退/失败 (Illegal character in hostname at index 5: ws://****:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600)
java.net.URISyntaxException: Illegal character in hostname at index 5: ws://****:61614?maximumConnec ...