在 CentOS 8.2 上配置 ASP.NET Core 6.0 运行环境

举报
Rolle 发表于 2024/11/04 21:41:18 2024/11/04
【摘要】 随着现代应用程序的不断发展,ASP.NET Core 已成为构建跨平台高性能应用程序的热门选择。其灵活性和强大的生态系统使得它在开发者中备受欢迎。本文将详细介绍如何在 CentOS 8.2 上配置 ASP.NET Core 6.0 运行环境,涵盖从系统准备、安装 .NET SDK,到部署应用的每一步。环境准备1. 更新系统在开始之前,确保你的 CentOS 8.2 系统是最新的。打开终端并运...

随着现代应用程序的不断发展,ASP.NET Core 已成为构建跨平台高性能应用程序的热门选择。其灵活性和强大的生态系统使得它在开发者中备受欢迎。本文将详细介绍如何在 CentOS 8.2 上配置 ASP.NET Core 6.0 运行环境,涵盖从系统准备、安装 .NET SDK,到部署应用的每一步。

环境准备

1. 更新系统

在开始之前,确保你的 CentOS 8.2 系统是最新的。打开终端并运行以下命令:

代码语言:javascript
复制
sudo dnf update -y

2. 安装必要的工具

我们需要一些基本的工具来构建和运行 ASP.NET Core 应用程序。可以使用以下命令安装:

代码语言:javascript
复制
sudo dnf install -y wget curl unzip

安装 .NET 6.0 SDK

1. 添加 Microsoft 包源

要安装 .NET SDK,首先需要添加 Microsoft 的官方软件源。运行以下命令:sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/prod.repo

2. 安装 .NET SDK

现在可以使用以下命令安装 .NET 6.0 SDK:

代码语言:javascript
复制
sudo dnf install -y dotnet-sdk-6.0

3. 验证安装

安装完成后,可以通过以下命令验证 .NET SDK 是否安装成功:

代码语言:javascript
复制
dotnet --version

如果成功,你应该会看到类似 6.0.x 的输出。

创建 ASP.NET Core 应用程序

1. 创建新项目

在你的工作目录中,使用以下命令创建一个新的 ASP.NET Core Web 应用程序:

代码语言:javascript
复制
mkdir myapp
cd myapp
dotnet new webapp

2. 运行应用程序

现在可以使用以下命令运行应用程序:

代码语言:javascript
复制
dotnet run

应用程序将启动在 http://localhost:5000https://localhost:5001 上。

3. 测试应用程序

打开浏览器,访问 http://localhost:5000,你应该会看到默认的 ASP.NET Core 欢迎页面。

配置反向代理(Nginx)

为了在生产环境中运行 ASP.NET Core 应用程序,通常会使用 Nginx 作为反向代理。

1. 安装 Nginx

使用以下命令安装 Nginx:

代码语言:javascript
复制
sudo dnf install -y nginx

2. 启动 Nginx 并设置开机自启

代码语言:javascript
复制
sudo systemctl start nginx
sudo systemctl enable nginx

3. 配置 Nginx

创建一个新的 Nginx 配置文件:

代码语言:javascript
复制
sudo nano /etc/nginx/conf.d/myapp.conf

在文件中添加以下内容:

代码语言:javascript
复制
server {
    listen 80;
    server_name your_domain_or_IP;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

请将 your_domain_or_IP 替换为你的域名或服务器 IP 地址。

4. 测试 Nginx 配置

在重新加载 Nginx 之前,测试配置文件是否正确:

代码语言:javascript
复制
sudo nginx -t

5. 重新加载 Nginx

如果没有错误,重新加载 Nginx 以应用更改:

代码语言:javascript
复制
sudo systemctl reload nginx

部署 ASP.NET Core 应用程序

1. 发布应用程序

在你的应用程序目录中,使用以下命令发布应用程序:

代码语言:javascript
复制
dotnet publish -c Release -o out

这将在 out 目录中生成发布文件。

2. 运行应用程序

使用以下命令运行应用程序:

代码语言:javascript
复制
dotnet out/myapp.dll

3. 使用 systemd 管理应用程序

为了更好地管理 ASP.NET Core 应用程序,我们可以创建一个 systemd 服务。

创建服务文件
代码语言:javascript
复制
sudo nano /etc/systemd/system/myapp.service

添加以下内容:

代码语言:javascript
复制
[Unit]
Description=My ASP.NET Core Application
After=network.target

[Service]
WorkingDirectory=/path/to/your/myapp/out
ExecStart=/usr/bin/dotnet /path/to/your/myapp/out/myapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
SyslogIdentifier=myapp
User=nobody
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

请将 /path/to/your/myapp/out 替换为实际路径。

启动并启用服务
代码语言:javascript
复制
sudo systemctl start myapp
sudo systemctl enable myapp

4. 测试应用程序

现在你可以访问 http://your_domain_or_IP 来查看你的 ASP.NET Core 应用程序是否正常运行。

日志和监控

在生产环境中,监控和日志记录是至关重要的。ASP.NET Core 提供了集成的日志记录功能,可以帮助你捕捉应用程序的运行情况。

1. 配置日志记录

你可以在 appsettings.json 文件中配置日志记录选项。例如:

代码语言:javascript
复制
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  }
}

2. 查看日志

如果你使用 systemd 启动应用程序,可以通过以下命令查看日志:

代码语言:javascript
复制
sudo journalctl -fu myapp



本文详细介绍了在 CentOS 8.2 上配置 ASP.NET Core 6.0 运行环境的全过程,包括系统准备、.NET SDK 安装、应用程序创建与部署、反向代理设置及日志监控。通过这些步骤,你可以在 Linux 上成功运行 ASP.NET Core 应用,为未来的项目打下良好的基础。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。