【asp.net】Linux 部署 asp.net core 项目
参考: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 网上找的教程
- 删除“Microsoft.NETCore.App”节点中"type" : "platform"的配置
- 增加“runtimes”节点中对应的平台 如下:
"runtimes": { //加入runtime
"win7-x64": {},
"win7-x86": {},
"osx.10.10-x64": {},
"osx.10.11-x64": {},
"Ubuntu.14.04-x64": {},
"centos.7-x64": {}
}- 修改后的“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 项目的更多相关文章
- ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus
ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...
- Linux部署ASP.NET 5 (vNext)
原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署 引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...
- Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...
- Nginx知多少系列之(五)Linux下托管.NET Core项目
目录 1.前言 2.安装 3.配置文件详解 4.Linux下托管.NET Core项目 5.Linux下.NET Core项目负载均衡 6.Linux下.NET Core项目Nginx+Keepali ...
- linux --- 部署前后端分离项目
vue + uwsgi +nginx 部署前后端分离项目 准备项目 1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中 2.解压缩操作 前端 ...
- Linux 部署 ASP.NET Core 的一些问题记录
异常错误: 关闭 IP6 #修改 vi /etc/sysctl.conf # 添加如下三条设置 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.co ...
- Linux部署Apollo+.Net Core简单使用
Apollo官方网站非常详细,以下只是本人学习过程的整理 一.概念 Apollo(阿波罗)是一款可靠的分布式配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并 ...
- 【无私分享:ASP.NET CORE 项目实战(第十一章)】Asp.net Core 缓存 MemoryCache 和 Redis
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 经过 N 久反复的尝试,翻阅了网上无数的资料,GitHub上下载了十几个源码参考, Memory 和 Redis 终于写出一个 ...
- 【转载】CentOS 7部署ASP.NET Core应用程序
看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不扯淡,直接进入正题.您有任何问题请在评论区留言. 1.环境 ...
随机推荐
- SharePoint 2013 Excel Services ECMAScript 示例之明日限行
前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了, ...
- 安装Portal for ArcGIS时如何正确配置HTTPS证书
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持.SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为 ...
- 使用 Arduino 和 LM35 温度传感器监测温度
上一篇玩儿了一下Arduino入门,这次再进一步,用一下LM35温度传感器来监测当前温度.LM35温度传感器已经在Arduino入门套件里包含了,就是那个有三个脚的小黑块儿. 我们先把这些东西连起来. ...
- Android Log Tag含义
在分析Android问题的时候重要的手段之一就是分析log,在events.log中有很多系统log,其中有些log的含义并不是很了解,下面就是从安卓源码中得到的系统log的tag. 关于Tag的说明 ...
- 浅谈c#中的delegate和event了
一.开篇忏悔 对自己最拿手的编程语言C#,我想对你说声对不起,因为我到现在为止才明白c#中的delegate和event是怎么用的,惭愧那.好了,那就趁着阳光明媚的早晨简单来谈谈delegate和ev ...
- mysql编码格式设置
两个地方能影响到mysql的编码格式 ①.[mysql]下default-character-set=GBK//指的是客户端输入的内容的编码(GBK只是支持中英文)②.[mysqld]下# The d ...
- 2015年度总结--android开发
虽然农历年才是新的一年的开始,不过关于中西文化的问题这里就不讨论了,所谓“男女平权,公说公有理,婆说婆有理;阴阳合历,你过你的年.” 看到很多朋友在发年度总结,于是想想这一年我都在干什么呢,也总结一下 ...
- linux中5条查找命令
1 which which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果. which [文件...] 参 数: -n<文件名长度> 指定文件名长 ...
- Cinder 调试 - 无法挂载到虚拟机
1.问题 我们有时候在通过云主机挂载云硬盘的时候会出现挂载不上的问题.像这中问题有多种情况导致的. 看一下我遇到的两种情况. 1.权限问题 在cinder节点查看 /var/log/cinder/ci ...
- 【2016-10-31】【坚持学习】【Day16】【MongoDB】【入门】
下载,安装: http://www.mongodb.org/downloads 命令行下运行 MongoDB 服务器 为了从命令提示符下运行MongoDB服务器,你必须从MongoDB目录的bin目录 ...