.NET Core 发布最美 Linux/ElementaryOS 并实现 Nginx 反向代理访问

简介: 好久没写博客了,今天分享一下 `ASP.NET Core MVC` 发布部署【最美Linux】`elementaryos-5.0-stable` 服务器,并配置 `Nginx` 实现域名访问:一,Demo 测试环境 =》操作系统:`Windows 10 V1903` 版本,虚拟机:`Hyper-V`,虚拟机配置系统:`elementaryos-5.0-stable.20181016`;步骤1:【准备工作】准备一...

好久没写博客了,今天分享一下 ASP.NET Core MVC 发布部署 elementaryos-5.0-stable(号称最美 Linux) 服务器,并配置 Nginx 实现域名访问。

Demo 测试环境:

  • 操作系统:Windows 10 V1903 版本;
  • 虚拟机:Hyper-V
  • 虚拟机配置系统:elementaryos-5.0-stable.20181016;

image.png

步骤1:【准备工作】

准备一个虚拟机(比如 Windows 自带的 Hyper-V),Linux 镜像文件(此处使用 elementaryos-5.0,好称最美 Linux),配置好 Linux 服务器;配置细节,自行百度,必应等;

步骤2:【安装 .NET Core SDK】

参考官网:https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-current;因为elementaryos是ubuntu的一个分支,所以此处选择ubuntu18.04-64;

2.1【注册 Microsoft 密钥和 feed】

在安装 .NET 之前,您需要注册 Microsoft 密钥、注册产品存储库和安装所需的依赖项。每台机器只需要完成一次。

打开终端并运行以下命令:

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

2.2【安装 .NET Core SDK】

更新可用于安装的产品,然后安装 .NET Core SDK

在您的终端中,运行以下命令:

sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.2

image.png

注意:以上步骤执行完毕,可以在终端输入如下命令查看 .net core sdk 版本;(此处安装的是2.2.300 版本)。

查看 dotnet 信息:

dotnet --info

image.png

步骤3:【更新 Linux 服务器】

在终端输入命令:

sudo apt-get update        
sudo apt-get upgrade       
sudo apt-get dist-upgrade  
sudo reboot

步骤4:【创建 ASP.NET Core MVC 项目】

在终端输入命令:

dotnet new mvc -lang C# -o /home/chait/Demo/dotnet/
cd ./home/chait/Demo/dotnet
dotnet restore
dotnet run

image.png

此时可以在浏览器中输入:http://localhost:5000https://localhost:5001 查看编译好的mvc 网站,如下如所示:

image.png

或者也可以在终端使用 wget 查看网站,命令如下:

wget http://localhost:5000

运行可看到如下信息如下:

image.png

步骤5:【安装 Nginx】

在配置好的(VM 虚拟) Linux 服务器终端执行如下命令:

sudo apt-get install nginx

查看 nginx 是否安装成功,浏览器输入:localhost 可以查看到 Welcome to nginx!

image.png

步骤6:【配置 Nginx 反向代理】

实现 ASP.NET Core MVC 网站访问;

6.1 使用 vi/vim 配置 nginx 的服务配置:

--sudo vi /etc/nginx/sites-available/default 
sudo vim /etc/nginx/sites-available/default

Nginxdefault.conf 配置替换成如下配置:

server {
    listen 80;
 
    location / {
        proxy_pass http://localhost: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;
    }
}

6.2 测试配置:

sudo nginx -t

6.3 重新加载 nginx 配置:

sudo nginx -s reload

此时在浏览器中输入IP地址就可以访问网站了,如果还想支持域名访问发布的 ASP.NET Core MVC 网站,可以在 nginx.conf 配置中添加 server_name,完整如下所示:

server {
    listen 80;
    server_name www.your_domain_name.com;
    location / {
        proxy_pass http://localhost: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;
    }
}
注意: www.your_domain_name.com 即为你的域名,修改配置后,重新加载 nginx.conf 配置:
sudo nginx -s reload

此时就可以通过域名访问发布的网站了;

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
16天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
1月前
|
NoSQL 安全 Linux
Linux 中 core dump 文件的作用和使用方法
Linux 中 core dump 文件的作用和使用方法
80 1
|
16天前
|
应用服务中间件 nginx
nginx进行反向代理的配置
在Nginx中设置反向代理的步骤:编辑`/etc/nginx/nginx.conf`,在http段加入配置,创建一个监听80端口、服务器名为example.com的虚拟主机。通过`location /`将请求代理到本地3000端口,并设置代理头。保存配置后,使用`sudo nginx -s reload`重载服务。完成配置,通过example.com访问代理服务器。
24 0
|
27天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0
|
1月前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(持续更新)
C#/.NET/.NET Core拾遗补漏合集(持续更新)
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
63 0
|
1月前
|
负载均衡 应用服务中间件 Linux
|
2月前
|
tengine Rust 负载均衡
反向代理学习笔记(一) Nginx与反向代理绪论
反向代理学习笔记(一) Nginx与反向代理绪论
|
2月前
|
负载均衡 Java 应用服务中间件
|
2月前
|
开发框架 前端开发 .NET
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!
为了便于大家查找,特将之前开发的.Net Core相关的五大案例整理成文,共计440页,32w字,免费提供给大家,文章底部有PDF下载链接。
33 1
福利来袭,.NET Core开发5大案例,30w字PDF文档大放送!!!