.Net Core WebApi 部署到 Centos 7 Linux 平台 实现 服务的后台运行和服务自启动

最近在开发一个.Net Core WebApi 服务,大部分都在windwos上运行,很容易,现在要发布到linux平台上。

linux 平台先要安装  .Net Core 的支持 ,可以到官方平台看其他平台安装:

https://www.microsoft.com/net/core#linuxcentos

 

敲如下命令:

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum -y update
sudo yum -y install dotnet-sdk-3.1
dotnet --version

安装好之后

服务自身是需要开始和停止脚本的

如下

Start.sh  (主要实现服务启动,后台运行)

#!/bin/sh
RUN_NAME="BKYL.TPIServer.dll"
export LANG="en_US.UTF-8"
cd `dirname $0`
PID=`ps -ef|grep $RUN_NAME|grep -v grep|awk '{printf $2}'`
echo $PID
if [ ! -n "$PID" ];
then
   echo "TPIServer 开始启动"
else
   echo "TPIServer 已启动,正在重启"
   echo $PID
fi
nohup dotnet $RUN_NAME --urls http://*:808  >/dev/null 2>&1 &

Stop.sh (实现关闭当前服务)

#!/bin/sh
RUN_NAME="BKYL.TPIServer.dll"
export LANG="en_US.UTF-8"
PID=`ps -ef|grep $RUN_NAME|grep -v grep|awk '{printf $2}'`
echo $PID
if [ ! -n "$PID" ];
then
   echo "未发现:TPIServer!"
else
   echo "TPIServer 已结束执行!"
   echo $PID
   kill -9 $PID
fi

以上是一个单独的服务需要运行的常规脚本

但是我想让这个服务开机的时候,就自动运行,而不需要我自己重新启动。

那么就需要以下脚本

第一个为服务本身的脚本

TPIServer

#!/bin/bash
# description: TPIServer Start Stop Restart
# processname: TPIServer
# chkconfig: 234 20 80

FILE_HOME='/usr/local/TPIServer'

case $1 in
        start)
                sh $FILE_HOME/Start.sh
                ;;
        stop)
                sh $FILE_HOME/Stop.sh
                ;;
        restart)
                sh $FILE_HOME/Stop.sh
                sh $FILE_HOME/Start.sh
                ;;
        *)
                echo 'please use : TPIServer {start | stop | restart}'
        ;;
esac
exit 0

这个是一个服务脚本,可以通过使用 

启动:service TPIServer start

停止:service TPIServer stop

重启:service TPIServer restart

来对服务进行 启动和关闭。

然后 最后的方式是通过 执行一个脚本,来实现 自启动

InitServer.sh (实现 脚本授权,服务安装,以及 实现系统自启动,还有启动服务)

#!/bin/sh
ServerPath='/etc/init.d'
FileName='TPIServer'

chmod +x Start.sh
chmod +x Stop.sh
chmod +x TPIServer

cp $FileName $ServerPath/$FileName

chkconfig --add $FileName
chkconfig $FileName on
service $FileName start
echo 'Server Success'

RemoveServer.sh (实现停止自启动,停止服务运行)

#!/bin/sh
ServerPath='/etc/init.d'
FileName='TPIServer'
chkconfig $FileName off
chkconfig --del $FileName
service $FileName stop
echo 'Server Stop'

 

自此,文件已经完毕。

只用授权 InitServer.sh ,然后,执行 ./InitServer.sh 接口完成 服务的自启动安装,重启后,服务运行正常。

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝创精英团队

你的支持是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值