• Linux部署NetCore应用(Ubuntu)


    创建.net ocre 3.1 版本的站点

     

    新建 一个控制器(API)
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Http;
    using Microsoft.AspNetCore.Mvc;

    namespace Linux_Test.Controllers
    {
      [Route("api/[controller]")]
      [ApiController]
      public class ValuesController : ControllerBase
      {
          [HttpGet("getdate")]
          public string Date()
          {
              return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
          }
      }
    }

     

    修改 program.cs 文件,设置 运行端口 5002
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Hosting;
    using Microsoft.Extensions.Logging;

    namespace Linux_Test
    {
      public class Program
      {
          public static void Main(string[] args)
          {
              CreateHostBuilder(args).Build().Run();
          }

          public static IHostBuilder CreateHostBuilder(string[] args) =>
              Host.CreateDefaultBuilder(args)
                  .ConfigureWebHostDefaults(webBuilder =>
                  {
                      webBuilder.UseUrls("http://localhost*:5002");
                      webBuilder.UseStartup<Startup>();
                  });
      }
    }
    发布配置

    设置运行环境为 Linux 64位

    发布后文件系统

    使用winscp 将文件传输至Linux

    切换目录至Linux上的站点文件

    运行项目

    使用指令: dotnet + 项目.dll

     

    浏览器输入地址

    http://192.168.52.130:5002/api/values/getdate

    使用Ctrl+C 退出,在刷新浏览器

    使用 pm2 来守护 .net core 进程

    pm2 start 'dotnet Linux-Test.dll' --name api

     

    执行完成后,刷新浏览器

    使用 Nginx 来对kestrel进行反向代理

    vim /etc/nginx/sites-available/default 将原有配置注释掉,添加下列配置

    server{
      listen 80;
      listen [::]:80;
      location / {
      proxy_pass http://localhost:5002;
      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 -s reload

    监听 默认端口 80 ,就不用再输入 5002 端口号

    http://192.168.52.130/api/values/getdate

     

  • 相关阅读:
    "rm f xxx"不起作用? 还是需要确认删除?
    (转)C# 3.0语言的新特性——Lambda表达式
    (转)依赖注入的思想(目前见过最好的对DI的描述)
    #import、#include、#import<>和#import””的区别
    Cocoa设计模式之委托
    详解MAC硬盘中各个文件夹
    Cocoa设计模式之单例
    ObjecticeC之关联对象
    UDID被禁用后的集中替代品
    Cocoa设计模式之KVO
  • 原文地址:https://www.cnblogs.com/WQ1992/p/13410474.html
Copyright © 2020-2023  润新知