ASP.NET Core MVC 在linux上的创建及发布

前言

ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲试,准备搞一下ASP.NET Core mvc的创建和部署,于是便有了这篇文章,希望能够帮助到你。

环境准备

这是我的开发环境,使用的nginx是nginx 1.6.3 直接yum install,然后需要安装dotnet环境,可以参照官网教程https://www.microsoft.com/net/core#centos

然后使用yeoman创建一个asp.net core 项目 具体见官网https://aspnet-aspnet.readthedocs-hosted.com/en/latest/client-side/yeoman.html,因为我不知道如何通过dotnet指令创建aspnet core mvc项目,只好使用了这个。(后来找到了dotnet new -t web,这个指令也是创建mvc web项目的,可见我当时是多傻)

创建第一个web项目

mkdir demo1

cd demo1

dotnet new -t web

会在demo1目录下生成一个web项目

来看一下project.json

里面是一些项目依赖和build,publish以及runtime的选择项。可以看到Microsoft.AspNetCore.Server.Kestrel,它是依赖Kestrel来监听web的请求的。

执行dotnet restore 这个指令主要是寻找当前目录下的项目文件(project.json),然后利用NuGet库还原整个项目的依赖库,然后遍历每个目录,生成项目文件,继续还原该项目文件中的依赖项

然后实验一下 dotnet run

这里是我修改了他的绑定地址为http://*:5000,因为默认的是localhost:5000,但是在外网访问的时间是会有问题,,查了一下资料说是IP6和IP4的原因,所以使用了*,在Program.cs中使用UseUrls("http://*:5000")

然后浏览器访问看一下效果:

然后我又做了nginxd的反向代理,yum install nginx,然后修改配置文件

然后执行 nginx -s reload 重启nginx配置,接着启动ASP.NET CORE 程序,向浏览器输入121.42.184.123,结果如下:

至此,asp.net core程序在linux上测试成功,可以继续执行dotnet publish指令给程序打包发布,打包之后会生成一个publish文件夹:

在浏览器访问结果一样。心情莫名激动,装载大微软。

尝试着用supervisord管理ASPNET CORE项目的进程,但是由于配置问题没搞好,周六抽空研究一下,接下来准备研究一下ASPNET CORE项目的源码。后续学习也会一并写出来,希望和大家一起进步,社区最近的活跃度让我对.NET充满了希望。愿和各位一起加油。

参考资料 :https://aspnet-aspnet.readthedocs-hosted.com/en/latest/client-side/yeoman.html

      https://aspnet-aspnet.readthedocs-hosted.com/en/latest/

.NET学习技术交流群:226704167,愿和各位一起进步!

时间: 2024-08-25 00:05:28

ASP.NET Core MVC 在linux上的创建及发布的相关文章

NET Core MVC 在linux上的创建及发布

NET Core MVC 在linux上的创建及发布 前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲试,准备搞一下ASP.NET Core mvc的创建和部署,于是便有了这篇文章,希望能够帮助到你. 环境准备 这是我的开发环境,使用的nginx是nginx 1.6.3 直接yum install,然后需要安装dotnet环境,可以参照官网教程h

asp.net core mvc和angular项目的一些问题

最近公司布置任务,用asp.net core mvc和angular改写原来的一个用Silverlight做的项目.从来没搞过,找了两本书看了一天,又看了一天代码,大致心里有底了,就开始动手.没想到一上来就碰到了头痛的问题. 首先是第一次调试后,修改了typescript,却不会自动编译.花了不少功夫才明白,原来不要用缺省的IISExpress,另外建了个调试profile,关键是类型设为Project,这下就方便了.F5调试后,随时修改template或者typescript,马上就自动重新编

asp.net core mvc中如何把二级域名绑定到特定的控制器上

由于公司的工作安排,一直在研究其他技术,所以一直没时间更新博客,今天终于可以停下手头的事情,写一些新内容了. 应用场景:企业门户网站会根据内容不同,设置不同的板块,如新浪有体育,娱乐频道,等等.有的情况下需要给不同的板块设置不同的二级域名,如新浪体育sports.sina.com.cn. 在asp.net core mvc中,如果要实现板块的效果,可能会给不同的板块建立不同的控制器(当然也有其他的技术,这里不讨论实现方式的好坏),在这种情况下,如何给控制器绑定上独有的二级域名,比如体育频道对应的

Pro ASP.NET Core MVC 第6版 第一章

第一章 ASP.NET Core MVC 的前世今生 ASP.NET Core MVC 是一个微软公司开发的Web应用程序开发框架,它结合了MVC架构的高效性和简洁性,敏捷开发的思想和技术,和.NET 平台的最好的部分.在本章,我们将学习为什么微软创建ASP.NET Core MVC, 看看他和他的前辈的比较以及和其他类似框架的比较,最后,大概讲一下ASP.NET core MVC里面有什么新东西,还有本书中包括哪些内容. 了解ASP.NET Core MVC的历史 最开始的ASP.NET 诞生

ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路

 一.前言  最近一段时间自己主要的学习计划还是按照毕业后设定的计划,自己一步步的搭建一个前后端分离的 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持下来了,嗯,看了看时间,原本决定的半年完成肯定是完不成了.这两周重新拾起来学习 Vue,文章也在慢慢的更新中,这一篇文章主要是想提前试试水将 ASP.NET Core 部署到 Linux Server 上,原本的打算是把毕业设计就部署到 Linux 上,最终也未能成行,究其原因,还是自己太懒太拖了

ASP.NET Core MVC之Serilog日志处理,你了解多少?

前言 本节我们来看看ASP.NET Core MVC中比较常用的功能,对于导入和导出目前仍在探索中,项目需要自定义列合并,所以事先探索了如何在ASP.NET Core MVC进行导入.导出,更高级的内容还需等我学习再给出. EntityFramework Core 在学习ASP.NET Core MVC之前我们来看看在EF Core中如何更新对象指定属性,这个问题之前我们已经探讨过,但是还是存在一点问题,请往下看. public void Update(T entity, params Expr

ASP.NET Core MVC/WebAPi 模型绑定探索

前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用到了,你再去看理论性的文章时才会豁然开朗,这是我一直以来学习技术的方法.本文我们来讲解.NET Core中的模型绑定. 话题 在ASP.NET Core之前MVC和Web APi被分开,也就说其请求管道是独立的,而在ASP.NET Core中,WebAPi和MVC的请求管道被合并在一起,当我们建立控

第二章 指南(2)用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 原文:Building Your First Web API with ASP.NET Core MVC and Visual Studio 作者:Mike Wasson 和 Rick Anderson 翻译:谢炀(kiler) 校对:何镇汐.

Pro ASP.NET Core MVC 6th 第三章

第三章 MVC 模式,项目和约定 在深入了解ASP.NET Core MVC的细节之前,我想确保您熟悉MVC设计模式背后的思路以及将其转换为ASP.NET Core MVC项目的方式. 您可能已经了解本章中讨论的一些想法和约定,特别是如果您已经完成了高级ASP.NET或C#开发. 如果没有,我鼓励你仔细阅读 - 深入地理解隐藏在MVC背后的东西可以帮助你在通读本书时更好地与MVC框架的功能联系起来. MVC的历史 模型视图控制器模式起源于20世纪70年代后期,来自施乐PARC的Smalltalk