安装.NET Core

首先需要安装.NET Core Runtime: https://www.microsoft.com/net/download

点击之后,根据您的Linux发行版不同,选择相应的操作步骤:

最后执行dotnet --info验证安装是否成功:

安装Nginx

另外还需要安装Nginx,直接查看官网文档吧:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x#install-nginx

安装好后,访问这个页面:http://你的ip地址/index.nginx-debian.html,如果看到如下效果说明安装成功:

配置nginx

根据官网的介绍,asp.net core使用nginx作为反向代理服务器。 
安装指令apt-get install nginx。 
安装成功后进入nginx的安装目录cd /etc/nginx

在服务器构建源码并发布

然后就是发布程序了,发布有两种办法:

  • 在开发机上执行dotnet publish然后把发布的文件复制到服务器上
  • 或者直接在服务器上使用源码构建并发布,我一般是这样做的。

由于我是直接在服务器上构建发布,所以我需要安装.NET Core SDK:https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial

然后就可以使用发布命令了:dotnet publish --configuration Release

发布好的文件在bin/Release/netcoreapp*.*/publish下面。

再把publish下的所有文件复制到我的目标文件夹即可:

在我的目标目录下,有这些文件:

如果执行 dotnet test.dll,这个程序就会在localhost:5000运行:

配置Nginx

然后我们再回来配置Nginx,进入/etc/nginx/sites-available,里面有一个Default文件,把它改个名,然后我们再建立一个新的Default文件:

保存后执行sudo nginx -t检验这个配置文件。

然后再执行 nginx -s reload 来重启nginx。

随后需要再把发布后的程序运行一下:dotnet test.dll:

在我使用网址访问80端口的时候,会自动跳转到5001端口,导致连接失败:

这是因为项目里默认使用了HTTPS Redirection。因为我没有证书,所以为了演示,我把HTTPS Redirection相关的代码注释掉,再发布:

重复上述步骤之后,通过网址的80端口,就可以正常访问了:

NGINX配置证书和HTTPS

配置HTTPS和证书相关的内容直接去看官方文档:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x#configure-ssl

添加proxy.conf和编辑nginx.conf后重启nginx即可。

按照操作,运行后如果不能使用https正常访问网站,那么有可能是无法绑定443端口导致的。

查看nginx错误日志:/var/log/nginx/error.log,如果出现下面的错误:

可以执行下列命令来解决:

sudo fuser -k 443/tcp
service nginx restart

 

然后再次访问https网址:

ASP.NET Core 2.x On Ubuntu的更多相关文章

  1. ASP.net Core部署说明(Ubuntu) [转]

    最近在学习asp.net core,当然学习的目的是想了解一下,Asp.net core是否真的能够是先跨平台部署. 根据目前官网资料说明,asp.net core只有在Redhat 企业版上,才能够 ...

  2. ASP.Net Core 运行在Linux(Ubuntu)

    这段时间一直在研究asp.net core部署到linux,今天终于成功了,这里分享一下我的部署过程. Linux Disibutaion:Ubuntu 14.04 Web Server:nginx. ...

  3. ASP .Net Core系统部署到Ubuntu 16.04 具体方案

    .Net Core 部署到Ubuntu 16.04 中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务 ...

  4. WTM asp.net core应用程序在Ubuntu上和CentOS上部署

    wtm在Ubuntu上和CentOS上部署 项目发布 在Visual Studio中右击Web项目,选择发布,如下图: Ubuntu安装.net core运行时 Ubuntu我是用的Vmware虚拟机 ...

  5. [aspnetcore]asp.net core程序部署到Ubuntu中的路径问题

    先标记下正确写法 new FileInfo(Environment.CurrentDirectory + "/Config/Log4net.config") 很多同行喜欢这样写: ...

  6. ubuntu下发布asp.net core并用nginx代理之旅

    asp.net core 1.0.1发布已有些日子了,怀着好奇的心情体验了把ubuntu下的asp.net core 系统运行环境:ubuntu 16.0.4 for developer 首先搭建.n ...

  7. linux+asp.net core+nginx四层负载均衡

    Linux Disibutaion:Ubuntu 16.04.1 LTS Web Server:Nginx.Kestrel 关于如何在linux中部署asp.net core我这里不再详细介绍,可以参 ...

  8. Running ASP.NET Core applications on Windows Subsystem for Linux

    Setting up Linux on Windows 10 First thing is to enable Windows Subsystem for Linux. It doesn’t inst ...

  9. Ubuntu Server 16.04下ASP.NET Core Web Api + MySql + Dapper在 Jexus、nginx 下的简单测试

    一.环境及工具 1.服务器 VirtualBox5.1.4 安装 Ubuntu Server 16.04 amd64 MySql Ver 14.14 Distrib 5.6.21 Jexus 5.8. ...

随机推荐

  1. Window环境下搭建Git服务器

    如果公司要搭建自己的 Git 服务器,可以使用 gitblit 这个开源的 Git 服务器 下载gitblit安装包 到 http://gitblit.com/下载安装包 解压缩下载的压缩包即可,无需 ...

  2. 搞懂MySQL InnoDB B+树索引

    一.InnoDB索引 InnoDB支持以下几种索引: B+树索引 全文索引 哈希索引 本文将着重介绍B+树索引.其他两个全文索引和哈希索引只是做简单介绍一笔带过. 哈希索引是自适应的,也就是说这个不能 ...

  3. c++性能测试工具:google benchmark入门(一)

    如果你正在寻找一款c++性能测试工具,那么这篇文章是不容错过的. 市面上的benchmark工具或多或少存在一些使用上的不便,那么是否存在一个使用简便又功能强大的性能测试工具呢?答案是google/b ...

  4. Windows Tomcat 日志输出到 catlina.out 按日期输出,自启动

    配置tomcat和jdk环境变量 CATALINA_BASE D:\ApacheSoftwareFoundation\Tomcat8.5 CATALINA_HOME D:\ApacheSoftware ...

  5. Deepin MongoDB安装&使用总结

    参考:手把手教你 MongoDB 的安装与详细使用(一) deepin 安装 mongodb 数据库(全面) 1. 导入公钥 sudo apt-key adv --keyserver hkp://ke ...

  6. Dynamics CRM项目实例之七:站点地图修改,联系人-订单-积分管理

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复138或者20141229可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!        前面文章发表后,不 ...

  7. 使用免费 mongodb数据库 + 免费node.js服务器搭建小程序接口

    由于微信的小程序只支持不带端口的域名接口,不支持IP地址和接口,所以我们需要映射到80端口并绑定备案过的域名才能被微信小程序访问到.简单点就是接口需要 https 协议才行,找了许久的免费的数据库与n ...

  8. 如何正确的升级node版本【已解决】

    博主亲身经历可以用以下几步解决node版本问题噢,解决了记得留个赞哈! 1 . 首先要安装n这个版本控制器噢 npm i -g n 如果这一步成功了就接着走哈,但是博主试了,大多数是安装不成功的,可以 ...

  9. easyui实现分页

    主要参考官方的文档,欢迎评论 1.集成easyui,下面是我的引入方式,我引入到了head.html 每次只要引入该页面就可以了. <!-- easyui样式支持 --><link ...

  10. python崩溃到现在居然还没有放弃的Day07

    今天新入一个全新的知识面,叫做深浅拷贝,拷贝英文名copy,俗称复制,作为一个火影迷就会想到拷贝忍者旗木卡卡西,跑题了,在所有的数据存储时,都会有内存地址和存储地址,浅拷贝只拷贝第一层的内存地址,深拷 ...