参考:http://www.07net01.com/2016/08/1638058.html

http://www.cnblogs.com/calvinK/p/5628298.html

http://www.mamicode.com/info-detail-1535706.html

http://www.cnblogs.com/ants/p/5732337.html

2018/2/27更新:

部署到Linux直接发布项目即可不需要在进行配置

sdk下载地址:https://www.microsoft.com/net/download/linux

官方教程地址:https://www.microsoft.com/net/learn/get-started/linuxcentos

1、项目发布

1.1、使用vs2015 发布项目

注:在网上看了很多教程都说要在project.json中配置runtimes 块,删除Microsoft.NETCore.App”节点中

"type" : "platform"的配置,只要version节点。      经过测试不需要删除也可以

1.1.1 网上找的教程

  1. 删除“Microsoft.NETCore.App”节点中"type" : "platform"的配置
  2. 增加“runtimes”节点中对应的平台 如下:
  3.  "runtimes": { //加入runtime
    "win7-x64": {},
    "win7-x86": {},
    "osx.10.10-x64": {},
    "osx.10.11-x64": {},
    "Ubuntu.14.04-x64": {},
    "centos.7-x64": {}
    }
  4. 修改后的“project.json”如下:

1.1.2 自己测试通过

1、在这我只修改了publishOptions节点,其他不做修改,右键点击项目选择发布:

2、点击发布后的界面,选择自定义后输入你的配置名(名称在定义),点击确认后直接下一步

3、发布方法选择文件系统,目标位置选择你要发布后保存的地方,可以直接点击发布,后面的设置保持默认

2、在LINUX 系统CentOS7 部署项目

注:其他Linux系统起微软官网找配置命令,地址:https://www.microsoft.com/net/core#windows

2.1、sudo yum install libunwind libicu(安装libicu依赖)

2.2、curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包)

2.3、sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet(解压缩)

2.4、sudo ln -s /opt/dotnet/dotnet /usr/local/bin(创建链接)

输入 dotnet --info 来查看是否安装成功,如果可以执行则表明.NET Core SDK安装成功

3、项目运行

3.1、在Linux目录 home下创建wwwroot文件夹(文件夹名称可自定义)。

3.2、把已经发布好的项目上传到上面创建的wwwroot下

3.3、使用命令 dotnet 你的项目路径/OneAspNetCore.dll 运行项目:OneAspNetCore.dll 这是我的项目发布后生成的dll文件,OneAspNetCore是我的项目名称。

运行后如图所示运行成功,你可以使用Linux服务器上的浏览器输入:localhost:5000 访问项目,info信息提示在这里不用管它

注:在执行 dotnet  命令运行项目后不能在做其他操作或按Ctrl+c退出,否则项目会停止运行

3.3.1、运行项目时会报错 version 版本错误如图所示:

3.3.2、解决上图错误:更改项目project.json文件中dependencies节点的 Microsoft.NETCore.App版本信息,你也可以升级服务器的 sdk版本,修改如下:

 "Microsoft.NETCore.App": {
"version": "1.0.1",//把版本号修改为 1.0.0
"type": "platform"
},

浏览器访问后可能会访问不到,记录一下错误信息:

当出现如下错误时有两种可能:

1、项目发布时未在project.json文件中 publishOptions节点配置视图、控制器等,检查是否配置,修改后重新发布项目到服务器上,配置如下:

 "publishOptions": {
"include": [
"wwwroot",
"Controllers",
"IRepositories",
"Models",
"Views",
"web.config"
]
}

2、当第一步检查已经配置好,项目也运行成功就是访问不到!解决方法:使用命令 cd /home/wwwroot/dev/ 到项目文件夹中 在执行dotnet OneAspNetCore.dll

在打开服务器浏览器访问就能访问到了,出现这个问题网上找了下说是权限问题!!!

注:以上部署只能内部访问,外部访问配置需要配置 nginx服务 配置地址:http://www.cnblogs.com/miskis/p/6022607.html

【asp.net】Linux 部署 asp.net core 项目的更多相关文章

  1. ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus

    ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...

  2. Linux部署ASP.NET 5 (vNext)

    原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署   引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...

  3. Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码

    Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...

  4. Nginx知多少系列之(五)Linux下托管.NET Core项目

    目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...

  5. linux --- 部署前后端分离项目

    vue + uwsgi +nginx 部署前后端分离项目 准备项目 1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中 2.解压缩操作 前端 ...

  6. Linux 部署 ASP.NET Core 的一些问题记录

    异常错误: 关闭 IP6 #修改 vi /etc/sysctl.conf # 添加如下三条设置    net.ipv6.conf.all.disable_ipv6 = 1    net.ipv6.co ...

  7. Linux部署Apollo+.Net Core简单使用

    Apollo官方网站非常详细,以下只是本人学习过程的整理 一.概念 Apollo(阿波罗)是一款可靠的分布式配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并 ...

  8. 【无私分享:ASP.NET CORE 项目实战(第十一章)】Asp.net Core 缓存 MemoryCache 和 Redis

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 经过 N 久反复的尝试,翻阅了网上无数的资料,GitHub上下载了十几个源码参考, Memory 和 Redis 终于写出一个 ...

  9. 【转载】CentOS 7部署ASP.NET Core应用程序

    看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...

随机推荐

  1. SharePoint 2013 Search 配置总结

    前言:SharePoint 2013集成了Fast搜索以后,搜索的配置有了些许改变,自己在配置过程中,也记录下了一些入门的东西,希望能够对大家有所帮助. 1.配置搜索服务,首先需要启用搜索功能,基本思 ...

  2. SharePoint 2013 文档上传的多种形式

    SharePoint 2013 中的某些功能需要使用 ActiveX 控件.这会在不支持 ActiveX 的浏览器上产生限制.目前只有 32 位版本的 Internet Explorer 支持此功能. ...

  3. iOS之POST与GET的优缺点

    //请求数据时传参数要将汉字转码 //GET获取数据,所有的参数信息都会暴露 GET方法和POST方法对比: 优点: GET: 1.请求方便,直接用一个完整的路径去请求获取数据 2.发送求请求过程中不 ...

  4. IOS开发基础知识--碎片19

    1:键盘事件顺序 UIKeyboardWillShowNotification // 键盘显示之前 UIKeyboardDidShowNotification // 键盘显示完成后 UIKeyboar ...

  5. iOS 数字滚动 类似于老 - 虎- 机的效果

    效果图 具体实现代码如下 ZCWScrollNumView.h文件 #import <UIKit/UIKit.h> typedef enum { ZCWScrollNumAnimation ...

  6. python爬虫—爬取百度百科数据

    爬虫框架:开发平台 centos6.7 根据慕课网爬虫教程编写代码 片区百度百科url,标题,内容 分为4个模块:html_downloader.py 下载器 html_outputer.py 爬取数 ...

  7. Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”

    虚拟机Vmware上克隆了一个Red Hat Enterprise Linx启动时发现找不到网卡,如下所示,如果你在命令窗口启动网络服务就会遇到"Device eth0 does not s ...

  8. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理2

    首先我们来写个类进行获取当前线程内唯一的DbContext using System; using System.Collections.Generic; using System.Data.Enti ...

  9. Linux shell 通配符 / glob 模式

    概念 glob 模式(globbing)也被称之为 shell 通配符,名字的起源来自于 Unix V6 中的 /etc/glob (详见 man 文档).glob 是一种特殊的模式匹配,最常见的是通 ...

  10. linux ACL权限规划:getfacl,setfacl使用

    ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户.单一文件 ...