发布项目到 Linux 上运行 Core 项目

目录索引 

【无私分享:ASP.NET CORE 项目实战】目录索引

简介

  

  ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下,我们windows上的项目如何发布项目到Linux上运行。我这里有个在windows上搭建过的程序,我们主要演示如何在linux上运行,所以大家不要纠结于这些,大家可以新建一个web项目尝试一下。

  

安装.NET Core SDK for CentOS

  微软有详细的安装命令,可以参考Install .NET Core SDK

  ① 安装 libicu 依赖: sudo yum install libunwind libicu

  

  安装成功:

  

   ② 下载 SDK 压缩包:curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131

  

  ③ 解压缩:sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

  

  ④ 创建连接:sudo ln -s /opt/dotnet/dotnet /usr/local/bin

  

测试安装是否成功

  通过 dotnet --info  来查看一下,出现如下界面,表示成功:

  

测试项目运行

  注意:不熟悉Linux的朋友请注意,Liunx下路径是区分目录大小写的。

  ① 新建一个目录:mkdir TestApp

  

  ② 进入目录:cd TestApp

  

  ③ 新建一个默认的 web 项目:dotnet new -t web

  

  ④ 还原包:dotnet restore

  这个时间可能比较长,看网速了,大家要耐心等待。

  

  ⑤ 我们来运行一下:dotnet run

  

发布我们的项目到Linux

  大家可以使用Ftp等方式将文件发布到服务器上,我这里直接发布到本地文件夹中,然后通过FileZilla 发送到服务器上。

  发布项目的方式有多种,比如可以使用 dotnet publish 命令,我们这里使用 VS :

  首先,我们打开 Project.json 来添加几个发布的运行时(这一步可以不要,如果不配置这里,那么发布的时候是 Any,我们待会讲到)

  

  

  然后,右击我们的项目,选择发布:

  

  新建一个发布配置文件,发布方法选择 文件系统 :

  

  设置里,我们选择目标运行时:centos.7-x64 (在上面,我们讲到 Project.json 里添加了 几个运行时,如果没有那一步,那么这里 没有选项,只有一个 Any)

  

  然后点击发布,我们把发布完的文件上传到CentOS上:我放到了 Wwwroot 目录下

  

  

  我们来编译我们的文件:dotnet XXX.dll

  这里先为大家演示一个 错误 :我的 wkmvc.dll 是在 Wwwroot 目录下的 ,所以 我执行命令(注意路径大小写,Linux区分大小写,我们上面提到) dotnet Wwwroot/wkmvc.dll

  

  

  显示成功了,我们打开浏览器,输入 localhost:5000

  

  是空白的,我们修改一下我们的程序,输出一下日志看看:

  

  这是什么原因呢?为什么没找到Index.cshtml呢?请大家再次注意一下 我们的 Content root path,答案是 她没有对 root 的操作权限的,我们来对比一下 我们安装过程中 测试成功的 web  和 我们这个 web 的 Content root path

  

  我们来尝试一下:我们进入Wwwroot目录下,然后执行 dotnet wkmvc.dll

  

  

  我们再次打开浏览器,输入 localhost:5000

  

  是不是 OK 了,我们来进入我们的区域的 登录页 测试一下:

  

  

  也没有问题,到此,项目就运行成功了,但是在实际中,我们可能还要安装 nginx 、配置我们的 FireWall 以及配置守护服务 Supervisor 等等,这里就不演示了。

希望跟大家一起学习Asp.net Core

刚开始接触,水平有限,很多东西都是自己的理解和翻阅网上大神的资料,如果有不对的地方和不理解的地方,希望大家指正!

虽然Asp.net Core 现在很火热,但是网上的很多资料都是前篇一律的复制,所以有很多问题我也暂时没有解决,希望大家能共同帮助一下!

原创文章 转载请尊重劳动成果 http://yuangang.cnblogs.com

发布项目到 Linux 上运行 Core 项目的更多相关文章

  1. 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下 ...

  2. Django项目在linux上运行

    目录 前言 上传 解压 制作启动脚本 这是一篇关于如何在linux下,以后台进程的方式运行服务,命令改改基本上就通用了. 前言 我们在windows本地开发完Django项目后,需要把项目部署到lin ...

  3. Nginx知多少系列之(十四)Linux下.NET Core项目Nginx+Keepalived高可用(主从模式)

    目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略 8.加权轮询(round rob ...

  4. Nginx知多少系列之(六)Linux下.NET Core项目负载均衡

    目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.负载均衡策略详解 8.Linux下.NET C ...

  5. linux安装docker,并在docker上运行springboot项目

    docker架构示例图 仓库---> 镜像 --->  容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...

  6. 在Linux上部署Web项目

    You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...

  7. Linux04 /创建虚拟环境、在linux环境运行Python项目

    Linux04 /创建虚拟环境.在linux环境运行Python项目 目录 Linux04 /创建虚拟环境.在linux环境运行Python项目 1. 大体流程 2. linux环境安装python3 ...

  8. 部署网站: 配置项目到iis上运行报目录错误

    配置项目到iis上运行报目录错误 以下三种方法可使用: 1.添加文件访问权限 everyone  (线上环境慎用) 2.重新注册iis 3.web.config 加一段话 在<system.we ...

  9. linux上部署SpringBoot项目及遇到的问题

    打开sftp步骤, 在显示的已连接的窗口上右键, 选择connect SFTP Session就可以打开文件上传的窗口 从windows上传文件到linux, 首先linux需要先切换到想要保存文件的 ...

随机推荐

  1. libevent的简单应用【转载】

    本文转载自: http://blog.csdn.net/liuguanghui1988/article/details/7090531 Libevent的应用主要围绕几大事件:超时事件.信号事件.读/ ...

  2. Java学习日记-2 零零碎碎

    一.使用Scanner类进行控制台的输入 文档中Scanner类的定义为A simple text scanner which can parse primitive types and string ...

  3. 糟糠之妻下堂,娇俏公主上位——更换宝马三系座椅作业 - 切诺基 Jeep家族 越野e族论坛 越野/SUV/旅行/赛事/改装/互动中心

    糟糠之妻下堂,娇俏公主上位--更换宝马三系座椅作业 - 切诺基 Jeep家族 越野e族论坛 越野/SUV/旅行/赛事/改装/互动中心 舒适性没有想象中好.我觉得理想的座椅,应该象是在你最疲倦的时候,把 ...

  4. Selenium 初见

    Selenium名字的来源 在这里,我还想说一下关于Selenium名字的来源,很有意思的: >:Selenium的中文名为“硒”,是一种化学元素的名字,它对汞 (Mercury)有天然的解毒作 ...

  5. Example of how to use both JDK 7 and JDK 8 in one build.--reference

    JDK 8 Released Most of us won’t be able to use/deploy JDK 8 in production for a looong time. But tha ...

  6. UVA 11770 Lighting Away

    RunID User Problem Result Memory Time Language Length Submit Time 2482977 zhyfzy J Accepted 0 KB 138 ...

  7. 95秀-PullToRefreshListView 示例

        正在加载.暂无数据页面 public class RefreshGuideTool {     private RelativeLayout rl_loading_guide;//整个View ...

  8. java08双重循环打印图形

    // 九九乘法表 外层循环每执行一次,内层循环执行一遍 for (int i = 1; i <= 9; i++) { // 外层控制的是行数 for (int j = 1; j <= i; ...

  9. canvas在手机qq浏览器显示错乱

    做大转盘的时候,使用html5 canvas 生成转盘,但在手机qq浏览器中显示错乱. 原本想在后台生成大转盘图片,后来想一想既然用图片来实现, 还不如直接由canvas 导出 toDataURL 在 ...

  10. Linq使用GroupBy筛选数据

    StringBuilder sb = new StringBuilder(); List<IGrouping<string, modle>> listRepeat = mode ...