Ubuntu 部署 Dotnet 项目

部署 .NET Core 程序到 Ubuntu

  1. 安装 .NET Core SDK
    首先,你需要在 Ubuntu 上安装 .NET Core SDK。以下是具体步骤:

    • 打开终端并运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库:

      wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
      sudo dpkg -i packages-microsoft-prod.deb3
      rm packages-microsoft-prod.deb
      
    • 然后安装 .NET Core SDK:

      sudo apt-get update && \
      sudo apt-get install -y dotnet-sdk-8.0
      sudo apt-get update && \
      sudo apt-get install -y dotnet-runtime-8.0
      通过 ASP.NET Core 运行时
      sudo apt-get update && \
      sudo apt-get install -y aspnetcore-runtime-8.0
      
  2. 创建和发布 .NET Core 项目

    • 在 Windows 上使用 Visual Studio 或者命令行创建一个 .NET Core 项目。
    • 使用 VS 自带的发布工具,将项目发布到一个文件夹。选择发布方式时,你可以选择独立应用或框架依赖型。独立应用会包含 .NET 运行时,而框架依赖型则生成跨平台的部署包。
    • 将发布的文件拷贝到 Ubuntu 服务器上,你可以使用工具如 WinSCP 来进行文件传输。
  3. 安装 Supervisor 守护进程

    • 安装 Supervisor:
      sudo apt-get install supervisor
      
    • 为你的 .NET 项目创建一个 Supervisor 配置文件。进入 /etc/supervisor/conf.d 目录,新建一个配置文件,例如 mydotnetapp.conf,并添加以下内容:
      [program:mydotnetapp]
      command=dotnet /path/to/your/app.dll
      directory=/path/to/your/app
      environment=ASPNETCORE_ENVIRONMENT=Production
      user=www-data
      autostart=true
      autorestart=true
      startsecs=1
      stderr_logfile=/var/log/mydotnetapp.err.log
      stdout_logfile=/var/log/mydotnetapp.out.log
      
  4. 配置 Nginx 作为反向代理

    • 安装 Nginx:
      sudo apt-get install nginx
      
    • 打开 Nginx 配置文件 /etc/nginx/sites-available/default,添加以下内容:
      server {
          listen 80;
          server_name your-domain.com;  # 替换为你的域名或 IP 地址
          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;
          }
      }
      
    • 重新加载 Nginx 配置:
      sudo nginx -t
      sudo nginx -s reload
      
  5. 启动你的 .NET Core 应用

    • 启动 Supervisor:
      sudo service supervisor start
      
    • 访问你的应用,例如:http://your-domain.com

这样,你的 .NET Core 应用就成功部署到了 Ubuntu 服务器上!如果遇到问题,别灰心,持续尝试,曙光就在前方🚀

posted @ 2024-08-02 16:59  AccountNull  阅读(6)  评论(0编辑  收藏  举报