前几天应工作需要,在阿里云上部署一个测试站点。本以为分分钟的事情,没想到打脸了。

当时直接新建一个webapi项目,publish后直接上传到阿里云,随后设置nginx转发网站端口5000。

接着打开网站测试访问,结果傻眼了,502.....。

于是乎,使用dotnet命令行启动,指定端口8080,更改nginx配置转而监听8080。测试,又打不开。

明明是按照众大神的文章一步一步来的,怎么会出错呢?搞不明白。随后老老实实阅读微软官方文档,

终于发现问题所在。原来是我没有设置Kestrel的监听端口。

论基础的重要性!!!要好好读书o(╥﹏╥)o,夯实基本功。

经历说完了,接下来说说如何配置网站端口。

设置的方式有三种:

第一种:Program类的CreateHostBuilder方法指定Urls

  1. public static IHostBuilder CreateHostBuilder(string[] args) =>
  2.             Host.CreateDefaultBuilder(args)
  3.                 .ConfigureWebHostDefaults(webBuilder =>
  4.                 {
  5.                     webBuilder.UseUrls("http://*:8080");
  6.                     webBuilder.UseStartup<Startup>();
  7.                 });

第二种:使用配置文件Hosting.json

  1. {
  2.   "urls": "http://*:8080"
  3. }

项目需要添加引用

  1. "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
  2. "Microsoft.Extensions.Configuration.Json": "1.0.0"

Program代码

  1. public static IHostBuilder CreateHostBuilder(string[] args) =>
  2.             Host.CreateDefaultBuilder(args)
  3.                 .ConfigureWebHostDefaults(webBuilder =>
  4.                 {
  5.                     webBuilder.UseStartup<Startup>();
  6.                 }).ConfigureHostConfiguration(configHost => {
  7.                     configHost.SetBasePath(Directory.GetCurrentDirectory());
  8.                     configHost.AddJsonFile("hosting.json", optional: true, reloadOnChange : true);
  9.                 });

第三种:使用命令行配置

  1. dotnet demo.dll --environment development --urls "http://*:8081"

项目需要添加引用

  1. "Microsoft.Extensions.Configuration.CommandLine": "3.1.2"

Program代码

  1. public static IHostBuilder CreateHostBuilder(string[] args) =>
  2.             Host.CreateDefaultBuilder(args)
  3.                 .ConfigureWebHostDefaults(webBuilder =>
  4.                 {
  5.                     webBuilder.UseStartup<Startup>();
  6.                 }).ConfigureHostConfiguration(configHost => {
  7.                     configHost.AddCommandLine(args);
  8.                 });

注:三种方式可同时配置,但是具有优先级:UseUrls < 文件配置 < 命令行配置

Ubuntu部署Asp.net core网站无法访问的更多相关文章

  1. Linux系统(ubuntu)部署Asp.Net Core网站

    一.前言 亲自动手尝试部署.Net Core在Linux,看了不少文章,感觉是很简单,但是做下去也会有很多问题,今天就写个文章记录下来. 二.环境安装 虚拟机(VMware),在网上找就行. 地址:h ...

  2. asp.net core跨平台--CentOS7.2部署asp.net core网站

    随着vs2015 2017的发布,.NETCore越来越流行了,我就尝试着做了个demo,在centos上试着运行了一下,中间遇到很多问题,不过最后还是成功运行,记录一下过程.废话不多说,直接开始: ...

  3. ASP.NET CORE网站部署到 windows server 的IIS 上去

    章基于我自己经验的一个总结,在windows服务器上部署asp.net core网站.环境是 windows server 2012数据中心版本 第一步先安装 IIS 服务器 接下来就是一路下一步,然 ...

  4. 如何优雅的利用Windows服务来部署ASP.NET Core程序

    上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...

  5. linux 环境下部署 Asp.Net Core 项目 访问 oralce 数据库

    1.ASP.NET Core 是一个跨平台的高性能开源框架,可以部署到Linux上,那项目部署在Linux上有哪些好处呢? 1.linux硬件需求小,大部分版本免费,成本低. 2.linux的用户管理 ...

  6. ubuntu16.4下用jexus部署asp.net core rtm

    上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu 下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net ...

  7. 结合Jexus + Kestrel 部署 asp.net core 生产环境

    ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...

  8. [原]CentOS7.2最小安装环境部署Asp.NET Core笔记

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 写在前面的话 不知不觉在cnblogs上注册已经10多年了,看我的园龄就直接暴露了我实际年龄, ...

  9. Jexus + Kestrel 部署 asp.net core

    结合Jexus + Kestrel 部署 asp.net core 生产环境 ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依 ...

随机推荐

  1. [Linux] Ubuntu 配置nfs

    安装NFS Server: 1. 执行命令 "$ sudo apt-get install nfs-kernel-server",安装nfs server 端 2. 创建需要用来分 ...

  2. zabbix 扩展脚本

    #!/usr/bin/env python #encoding:utf8 # desc: self-inspection # args: # reboot : reboot AP # check : ...

  3. 地址SQL文件

    文件下载 Beckoning

  4. Java的简易ATM系统

    大纲   ATM 机系统                   1.注册(账户(系统随机生成 15 位) - 密码(6位) - 余额)                   2.登录            ...

  5. IDEA无法启动:Failed to create JVM:error code -1

    转自:https://blog.csdn.net/u013243986/article/details/52296944 随便设置把内存加大了, 结果idea就奔溃了,再打开时就提示这样的错误,Fai ...

  6. leetcode简单题6

    今天的华师 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, fro ...

  7. Beautiful Soup的用法(五):select的使用

    原文地址:http://www.bugingcode.com/blog/beautiful_soup_select.html select 的功能跟find和find_all 一样用来选取特定的标签, ...

  8. iOS 编程:NSURLSession

    定义:描述 Foundation 框架类在标准的网络传输协议下,用 URLs 连接因特网并与服务器交互的一整套体系. 支持的传输协议: File Transfer Protocol (ftp://) ...

  9. 服务治理与RPC · 跬步

    以前写过Django中使用zerorpc的方法,但是由于我们的Django是运行在gevent下,而zeromq需要启动一个后台进程处理消息,与gevent使用的greenlet携程是冲突的. 在Ja ...

  10. Android中JNI的使用方法(转载)

    Android中JNI的使用方法 首先看一下Android平台的框架图:(网上盗用) 可以看到Android上层的Application和ApplicationFramework都是使用Java编写, ...