共计 2532 个字符,预计需要花费 7 分钟才能阅读完成。
当 Window 下的服务部署到 Linux 的时候,我们一般用 Mono.service 来启动停止。参数比较多,不太好用。于是有个这个 Shell 脚本。
用法:moa s1 start #启动
moa s1 stop # 停止
要求有如下的目录结构:
/opt/basepath/
s1/
sample1.exe #服务 1,文件名称不限
s2/
sampleservice2.exe #服务 2,文件名称不限
daemon.d/ #空目录,放置进程标识
moa #Shell 脚本
#!/bin/bash
#
# monosd 执行 Mono.Service 启动停止 .net 服务,根据目录名.
# 例如:目录结构如下时候,monosd s1 start/stop
# /opt/basedir/
# /opt/basedir/s1
# /opt/basedir/s1/xxxxx.exe
#
#
# chkconfig: – 50 50
# description: start or stop mono service by pathname
# config: /etc/sysconfig/netconsole
#
# Copyright 2015 Qtong, Inc.
#
# Based in part on a shell script by
# evlon <evlion@qq.com> 2015-11-02
MONOPATH=/opt/mono/bin
SHNAME=$0
SERVICENAME=$1
#BASEPATH=/opt/${SHNAME##*/}
#BASEPATH=${SHNAME%/*}
BASEPATH=$(cd `dirname $0`; pwd)
DAEMONPATH=$BASEPATH/daemon.d
PATH=$MONOPATH:$PATH
RETVAL=0
EXEFILE=`find $BASEPATH/$SERVICENAME/ -name *.exe`
EXEFILE=${EXEFILE##*/}
usage ()
{
echo $”Usage: $0 servicePathName {start|stop}” 1>&2
RETVAL=2
}
start ()
{
if [! -d $DAEMONPATH]; then
echo $” 目录不存在 $DAEMONPATH” 1>&2
exit 3
fi
if [! -d “$BASEPATH/$SERVICENAME”]; then
echo $” 目录不存在 $BASEPATH/$SERVICENAME” 1>&2
exit 4
fi
if [“$EXEFILE” == “”]; then
echo $” 找不到可执行文件!目录:$BASEPATH/$SERVICENAME/” 1>&2
exit 5
fi
mono-service -d:$BASEPATH/${SERVICENAME} -l:$DAEMONPATH/${SERVICENAME}d $EXEFILE
sleep 3
if [! -f $DAEMONPATH/${SERVICENAME}d ]; then
echo “PID:”`cat $DAEMONPATH/${SERVICENAME}d` “Started” 1>&2
fi
}
stop ()
{
if [! -d $BASEPATH/$SERVICENAME]; then
echo $” 目录不存在 $BASEPATH/$SERVICENAME” 1>&2
exit 3
fi
if [! -f $DAEMONPATH/${SERVICENAME}d ]; then
echo $” 服务没有运行 $BASEPATH/$SERVICENAME” 1>&2
exit 5
fi
PID=`cat $DAEMONPATH/${SERVICENAME}d`
kill `cat $DAEMONPATH/${SERVICENAME}d`
echo “PID: $PID Stoped” 1>&2
}
restart ()
{
stop
start
}
case “$2” in
stop) stop ;;
start) start;;
restart|reload|force-reload) restart ;;
*) usage ;;
esac
exit $RETVAL
下面关于 Mono 与 Jexus 的文章您也可能喜欢,不妨看看:
CentOS 7 上部署 Mono 4 和 Jexus 5.6 http://www.linuxidc.com/Linux/2015-05/117633.htm
Ubuntu 15.04 和 CentOS 7 部署 .NET,Mono and DNX http://www.linuxidc.com/Linux/2015-05/117177.htm
在 Linux(Ubuntu/openSUSE/CentOS)下配置 ASP.NET(Apache + Mono)http://www.linuxidc.com/Linux/2013-07/87599.htm
配置 Linux(Apache) + Mono 下运行 asp.net http://www.linuxidc.com/Linux/2013-07/87598.htm
如何升级 Mono http://www.linuxidc.com/Linux/2013-06/85391.htm
在 Mono 3.0 下运行 ASP.NET 4 网站的主意事项 http://www.linuxidc.com/Linux/2013-06/85394.htm
在 Ubuntu 操作系统上安装 Mono 和 Jexus 搭建.NET 的运行环境 http://www.linuxidc.com/Linux/2013-06/85388.htm
Ubuntu 14.04 配置 Mono+Jexus 运行 ASP.NET http://www.linuxidc.com/Linux/2015-08/121743.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-11/124811.htm