• .net core 3.1 部署在linux centos 8上, 并使用nginx代理


    一  程序准备

    1.1 将程序发布到linux上, 可以通过复制文件, ftp等方法, 这里不赘述. 需要注意的是在发布的时候需要修改以下几个参数

     二 linux 上安装环境, 并执行

    2.1. 将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库, 命令: 

    sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm

    2.2.  安装.net SDK, 命令:

     sudo yum install dotnet-sdk-3.1

     2.3. 安装.net runtime, 命令: 

    sudo yum install dotnet-runtime-3.1

     2.4. 进入我们放程序的位置, 然后后台启动程序 ,  可以指定端口号, 执行完成后会返回这个进程的pid, 命令:

    nohup dotnet XXXX.dll --urls="http://*:8081;" > /dev/null 2>&1 &

    启动后可以再次查看进程的状态, 命令:

    ps -aux | grep "xxxx.dll"

     2.5. 浏览器里检查效果, 这个时候需要确保服务器对应的端口是可以访问的. 结束后可以用kill命令关闭进程

    附加A, 使用nginx 代理

    1. 配置nginx文件

    2. 重启nginx服务器, 命令:

    systemctl restart nginx

    3. 检查效果

    附加B

    在2.4步骤的时候, 网上的很多教程没有使用 nohup 命令而是直接启动, 这样会导致关闭终端就直接关闭了进程. 

    在linux中,每个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。

     使用nohup开启后台进程虽然可以在终端关闭后还能运行,但是当系统关机重启后,进程就没有了,这个时候还是需要手动启动,这个时候需要用到守护进程(Daemon)

    参考文献

    微软官方文档: https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos#centos-8-

    菜鸟: https://www.runoob.com/linux/linux-comm-nohup.html

    博客: https://www.cnblogs.com/jayjiang/p/12610545.html

  • 相关阅读:
    使用TransactionScope实现事务
    CYQ.Data 框架系列
    MVP
    DYCOM用于开发网络应用程序的通信部分功能的快速开发
    架构师要了解
    Entity Framework资源
    Sina Blogs
    关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法总结
    在西方的程序员眼里,东方的程序员是什么样的?
    net2.0事务学习
  • 原文地址:https://www.cnblogs.com/fancyblogs/p/14081448.html
Copyright © 2020-2023  润新知