.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

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

目录
相关文章
|
2月前
|
开发框架 .NET C#
ASP.NET Core Blazor 路由配置和导航
大家好,我是码农刚子。本文系统介绍Blazor单页应用的路由机制,涵盖基础配置、路由参数、编程式导航及高级功能。通过@page指令定义路由,支持参数约束、可选参数与通配符捕获,结合NavigationManager实现页面跳转与参数传递,并演示用户管理、产品展示等典型场景,全面掌握Blazor路由从入门到实战的完整方案。
232 6
|
12月前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:<https://github.com/khellang/Scrutor>
295 5
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
550 61
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
682 60
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
702 60
|
11月前
|
缓存 负载均衡 应用服务中间件
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇
通过使用Nginx的反向代理功能,可以有效地提高Web应用的性能、安全性和可扩展性。配置过程中需要注意不同场景下的具体需求,如负载均衡、SSL终止和缓存策略等。正确配置和优化Nginx反向代理可以显著提升系统的整体表现。
1649 20
|
12月前
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
441 11
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
259 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
12月前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
1144 13
|
12月前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
878 6