• 在Linux创建 Net Core自定义服务


    最近这三个月,主要是项目上线的准备,以及后台没有开发完成,造成时间上比较赶,也没有说明时间写博客,8月份一不小心就过去了,我竟然没有写一篇文章,看着9月也马上过去了,还是写一篇文章记录一下吧!

    大家都知道 NET Core 是跨平台的,可以在 Windows ,Linux 等这些跨平台中运行 (现在这家公司,用的技术是NET Core, Linux ,PgSQL,Redis),所以,有更多的机会接触到Linux

    在Windows中, 我们可以把 Net Core 直接寄托在IIS, 也可以直接使用命令行运行(这里我很好奇大家的 NET Core 企业项目,是用上面方式运行 NET Core )
    我们这次不讲 Windows,直接说 Linux 中 创建 守护进程 运行 NET Core

    本地的虚拟机

    看看是否有环境

    这里移步到官方 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos

    文件已经丢进去了

    接下来,我么先使用命令行运行一下,看看项目能不能跑起来

    这里 我没有3.0的环境、我们装一个

    运行


    出现了这个,我们看看防火墙,以及端口

    firewall-cmd --state 查看防火墙状态
    firewall-cmd --zone=public --add-port=9999/tcp --permanent 开放端口
    firewall-cmd --reload 重启配置

    在运行一下,看看

    但是有个问题,不知道大家发现没有

    如果我们需要输入命令, 需要停止,命令输入完毕之后,还需要重新运行,而下面就是我们今天的重点

    三 在linux下创建自定义service服务

    [Unit]
    Description="CgrainService"      
    
    [Service]
    Type=simple
    GuessMainPID=true
    WorkingDirectory=/home/CgrainDemo/                                        //项目路径
    StandardOutput=journal
    StandardError=journal
    ExecStart=/usr/bin/dotnet ChengFengGraphic.dll                                           //启动指令
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
    [Unit]
    Description=APIService
    
    [Service]
    WorkingDirectory=/home/xxx/xxx/api
    ExecStart=/usr/bin/dotnet /home/xxx/xxx/api/xxx.dll
    Restart=always
    RestartSec=10
    SyslogIdentifier=APIService
    User=root
    Environment=ASPNETCORE_ENVIRONMENT=Production
    Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
    
    [Install]
    WantedBy=multi-user.target
    
    
    

    设置开机自启动

    对应启动步骤就可以了

    1.启动nfs服务

    systemctl start CgrainService.service
    2.设置开机自启动

    systemctl enable CgrainService.service
    3.停止开机自启动

    systemctl disable CgrainService.service
    4.查看服务当前状态

    systemctl status CgrainService.service
    5.重新启动某服务

    systemctl restart CgrainService.service
    ``


    打开浏览器

    我们看看

    目前未启动

    完成

  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/whatarey/p/13756458.html
Copyright © 2020-2023  润新知