微软以后的政策肯定是在开源和跨平台这一块,所以最近在学习asp.net core 2.1,查看市面上面大部分的把asp.net core部署在Linux后,决定亲自实验一番,不操作不知道,居然最新版本的跟老版本差距有点大,简单点就是网上的参考只适合老版本,经过了多次试坑之后发布成功,所以决定写出来供有需要的人参考。

第一步:在Ubuntu上面安装asp.net core 2.1 sdk

这一步骤可以参考:https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorial#linuxubuntu

选择合适的版本后:

1.注册微软的key

wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

2.安装sdk

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1

第二步:创建一个mvcapp测试项目

dotnet new mvc -o mvcapp

cd mvcapp

dotnet run

启动后会看到下面信息,重点关注红框中的信息,比网上大部分教程都多了一行链接:https://localhost:5001

据我在测试后面的操作中发现,这里面第一链接是https,很显然需要证书信任,可以参考这个网站看看https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-https-improvements/。

你用wget http://localhost:5000/ 的时候会发现,会重定向到https://localhost:5001/上面去,这样会打不开网站,后面的ngnix代理该地址也会访问不了,这里有几种方案去掉https或者增加认证证书。我这里选择的是去掉https这个地址,怎么去掉呢,需要打开项目下面的 vi mvcapp/Properties/launchSettings.json,修改成下面所示:

重新编译:dotnet restore

重新运行:dotnet run

再用wget http://localhost:5000 发现可以访问了 不会出现重定向302等访问不了的问题

第三步:像网上一样通过nginx设置代理,这样可以外网访问

安装 Nginx

sudo apt-get install nginx

启动 Nginx

sudo service nginx start

配置 Nginx

server {
listen 80;
location / {
proxy_pass http://localhost:5000; # 监听 5000 端口,因为 DotNet 默认端口是 5000
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

保存成功后需要重新加载配置文件

sudo nginx -s reload

最终在外网可以访问啦:

以上  谢谢查看

												

在腾讯ubuntu云服务器上面部署asp.net core 2.1网站的更多相关文章

  1. Ubuntu 云服务器上部署自己的 Rails 应用

    自学rails一段时间了,之前只用heroku部署了网站,想尝试把网站以一个更“正经”的方式呈现出来,就买了一个阿里云服务器.参考了网上部分rails部署教程,过程中也遇到了一些问题,所以在完成之后总 ...

  2. 如何在 Ubuntu 云服务器上部署自己的 Rails 应用

    安装步骤  参考:https://ruby-china.org/topics/32851 在云服务器上安装Ruby|Rails : http://www.cnblogs.com/znsongshu/p ...

  3. 阿里云CentOS7部署ASP.NET Core

    本文主要介绍了阿里云CentOS7下如何成功的发布ASP.Core应用并使用nginx进行代理, 并对所踩的坑加以记录; 环境.工具.准备工作 服务器:阿里云64位CentOS 7.4.1708版本; ...

  4. PHP--腾讯云服务器上部署LNMP环境

    本文参考 云服务器上部署Laravel的实例教程 腾讯云 创建 Laravel5.4 项目 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PH ...

  5. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  6. unigui在阿里云服务器上部署

    unigui在阿里云服务器上部署 客户租用了阿里云WINDOWS2008服务器,部署UNIGUI发现死活不行,WINDOWS2008自带的IE9浏览器打开URL,卡死在loading...... 我远 ...

  7. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  8. 云服务器ECS部署和卸载RabbitMQ

    云服务器ECS部署RabbitMQ RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,用于在分布式系统中存储转发消息,有良好的易用性.扩展性和高可用性.本文介绍如何通过ECS实例 ...

  9. IIS 7 Web服务器上部署ASP.NET网站(转)

    IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...

随机推荐

  1. ASP.NET MVC 3 Performance – on par with MVC 2

    http://blogs.msdn.com/b/marcinon/archive/2011/01/17/mvc-3-performance.aspx ASP.NET MVC 3 Performance ...

  2. Servlet 启动顺序

    在servlet的配置当中,<load-on-startup>1</load-on-startup>的含义是: 标记容器是否在启动的时候就加载这个servlet. 当值为0或者 ...

  3. 针对 Linux 环境下 gdb 动态调试获取的局部变量地址与直接运行程序时不一致问题的解决方案

    基础的缓冲区溢出实践通常需要确定运行状态下程序中的某些局部变量的地址,如需要确定输入缓冲区的起始地址从而获得注入缓冲区中的机器指令的起始地址等.在 Linux 环境下,可通过 gdb 对程序进行动态调 ...

  4. 基于easyui开发Web版Activiti流程定制器详解(四)——页面结构(下)

    题外话: 这两天周末在家陪老婆和儿子没上来更新请大家见谅!上一篇介绍了调色板和画布区的页面结构,这篇讲解一下属性区的结构也是定制器最重要的一个页面. 属性区整体页面结构如图:  在这个区域可以定义工作 ...

  5. 【洛谷】【st表+模拟】P1311 选择客栈

    [题目描述:] 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖 ...

  6. jenkins权限配置

    1. 授权匿名账户权限 2 注册新用户,并且把匿名权限删除,添加用户权限 Overall(全局) Credentials(凭证) Slave(节点) Job(任务) View(视图) Administ ...

  7. Sequelize-nodejs-2-basic usage

    Basic usage基本使用 To get the ball rollin' you first have to create an instance of Sequelize. Use it th ...

  8. sql查询以及常见问题理解解析

    推荐w3挺好的基础网站:https://www.w3cschool.cn/t_sql/t_sql_date_functions.html =,<,>,> =,<=,IN,BET ...

  9. 《Mysql必知必会》笔记

    两年前买的书,因为种种原因一直没看,零碎抽点时间看一遍,感觉对自己有用的就顺手记录下.之后转身就把这本书甩了,因为这本书的内容大多是增删改查语句,不实操只看的话,没有什么意义.而且作为一个测试,其实在 ...

  10. 电商 APP 下单页(俗称车2) 业务流程概要设计

    购物车是电商APP的一个关键功能点,一般购物车包含 3-4 个页面,分别是: 1.购物车的商品列表页 2.商品下单页 3.订单付款页面 4.订单付款成功页面 由于现有购物车逻辑相对混乱,这里重新整理一 ...