CentOS7 部署dotnet core app 应用程序后台服务

  • 内容
  • 评论
  • 相关

如何在CentOS7上把.net core控制台app部署为一个后台长期运行的服务

1、在CentOS7上安装dotnet 2.1 SDK

1、导入rpm源
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2、更新软件包
sudo yum -y update
3、安装SDK
sudo yum -y install dotnet-sdk-2.1
4、校验是否安装成功
dotnet --version

如果没有提示报错,那么表示安装成功

2、 部署dotnet core application 应用程序到centos7

1、创建服务文件
 cd  /etc/systemd/system/
 vi xxx.service
2、输入应用程序服务的描述信息
 [Unit]
 Description=xxxService
 [Service]
 #下面一行是运行目录就是我们存放 xxx.dll 的目录
 WorkingDirectory=/www/wwwroot/xxxService
 面一行是 运行xxx.dll 的命令行,请使用绝对路径
 ExecStart=/usr/bin/dotnet /www/wwwroot/xxxService/xxx.dll
 Restart=always
 #Restart service after 10 seconds if the dotnet service crashes:
 RestartSec=10
 KillSignal=SIGINT
 SyslogIdentifier=xxxServiceLog
 User=root
 Environment=ASPNETCORE_ENVIRONMENT=Production
 Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
 [Install]
 WantedBy=default.target

注意
内容里面的xxx和xxx.service中的xxx,根据自己需要任意修改,其他信息不要变动。
vi里面输入:wq保存。

3、 后台启动服务和开机启动服务

1、重新加载服务列表
  systemctl daemon-reload
2、启动服务
  systemctl start xxx.service
  # xxx.service 就是我们上面用vi创建的文件名
3、查看状态
  systemctl status xxx.service
4、开机自动运行
  systemctl enable xxx.service
5、查看服务运行日志
  journalctl -flu xxx.service 

4、 其他相关命令或调试

1、重新加载服务列表
  systemctl daemon-reload
2、启动服务
  systemctl start xxx.service
  # xxx.service 就是我们上面用vi创建的文件名
3、查看状态
  systemctl status xxx.service
4、停止服务
  systemctl stop xxx.service
5、查看是否激活
  systemctl is-active xxx.service
  #输出active 表示已经在运行
6、开机自动运行
  systemctl enable xxx.service
7、取消开机自动运行
  systemctl disable xxx.service
8、查看服务运行日志
  journalctl -flu xxx.service

参考链接

systemd教程 :
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

systemctrl教程 :
https://www.freedesktop.org/software/systemd/man/systemd.unit.html,

dotnet 命令行教程:
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet?tabs=netcore2x

aspnet core在Linux部署教程:
https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction?tabs=aspnetcore2x

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注