zoukankan      html  css  js  c++  java
  • .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

  • 相关阅读:
    【zookeeper】
    关于redis-windows环境下的一些配置:
    mybatis-注解开发
    jQuery的Validate插件
    Thymeleaf 学习笔记-实例demo(中文教程)
    thymeleaf 学习笔记-基础篇(中文教程)
    AGC 043C
    JOISC 2020 部分题解
    Loj #2687
    CF 1270I
  • 原文地址:https://www.cnblogs.com/fancyblogs/p/14081448.html
Copyright © 2011-2022 走看看