在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
``


打开浏览器

我们看看

目前未启动

完成

原文地址:https://www.cnblogs.com/whatarey/p/13756458.html