企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 说明 针对内部编写的程序,如`.out`的录制服务,在部署到合作伙伴的机器上,有以下常规需求 1. 守护进程:挂掉后自动拉起 2. 开机自启动 3. 统一的启动方式 基于以上三点要求,我们分别在centos6中使用`upstart`,在centos7中使用`systemd`程序来制作我们的服务 **假定:** 程序名:xxx-server.out 程序目录:/data/service/xxx-server/ **条件:** 各种依赖包已经安装好,程序已经赋予了执行权限,能在目录中通过命令`./xxx-server.out`启动. ## centos6 [upstart] **创建服务:** ``` cat >/etc/init/xxx-server.out.conf <<EOF start on runlevel [2345] stop on runlevel [!2345] respawn script #export LD_LIBRARY_PATH=$1 cd $1 exec ./ttd-record-server.out end script EOF } ``` **启停命令:** ``` start xxx-server.out stop xxx-server.out ``` ## centos7 [systemd] **创建服务:** ``` cat >/etc/systemd/system/xxx-server.out.service <<EOF [Unit] Description=xxx-server.out Process Restart Script After=network.target [Service] User=root TimeoutStartSec=0 Type=simple KillMode=process ExecStart=/data/service/xxx-server/xxx-server.out Restart=always RestartSec=2 LimitNOFILE=5555 [Install] WantedBy=multi-user.target EOF } ``` **启停命令:** ``` systemctl start xxx-server.out.service systemctl stop xxx-server.out.service ``` **设置开机自启:** ``` systemctl enable xxx-server.out.service ```