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

本文涉及的产品
.cn 域名,1个 12个月
简介: 好久没写博客了,今天分享一下 `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

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

目录
相关文章
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
11天前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
29天前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
39 2
|
1月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
92 3
|
1月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
1月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
72 0
|
2月前
|
开发框架 NoSQL .NET
利用分布式锁在ASP.NET Core中实现防抖
【9月更文挑战第5天】在 ASP.NET Core 中,可通过分布式锁实现防抖功能,仅处理连续相同请求中的首个请求,其余请求返回 204 No Content,直至锁释放。具体步骤包括:安装分布式锁库如 `StackExchange.Redis`;创建分布式锁服务接口及其实现;构建防抖中间件;并在 `Startup.cs` 中注册相关服务和中间件。这一机制有效避免了短时间内重复操作的问题。
|
2月前
|
SQL 存储 关系型数据库
C#一分钟浅谈:使用 ADO.NET 进行数据库访问
【9月更文挑战第3天】在.NET开发中,与数据库交互至关重要。ADO.NET是Microsoft提供的用于访问关系型数据库的类库,包含连接数据库、执行SQL命令等功能。本文从基础入手,介绍如何使用ADO.NET进行数据库访问,并提供示例代码,同时讨论常见问题及其解决方案,如连接字符串错误、SQL注入风险和资源泄露等,帮助开发者更好地利用ADO.NET提升应用的安全性和稳定性。
239 6

热门文章

最新文章