linux系统添加service服务并设置自启动

文章介绍了在Linux系统中添加自定义服务的两种常见方法。第一种方法是使用systemd,创建服务单元文件并配置启动、停止和重启命令。第二种方法是在/etc/init.d/目录下创建服务脚本,适用于较旧的系统,涉及到启动、停止、重载和重启等操作。每种方法最后都需要更新服务并设置开机启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux添加自定义服务有两种方法

第一种:

添加文件 服务名.service/usr/lib/systemd/system/目录下
以supervisord服务为例,supervisord.service文件如下:

#supervisord.service

[Unit] 
Description=Supervisor daemon

[Service] 
Type=forking 
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf 
ExecStop=/usr/bin/supervisorctl shutdown 
ExecReload=/usr/bin/supervisorctl reload 
KillMode=process 
Restart=on-failure 
RestartSec=42s

[Install] 
WantedBy=multi-user.target

重新加载服务文件

#重载服务文件
systemctl daemon-reload

加入开机自启动

#重载服务文件
systemctl enable supervisord

第二种

以nginx服务为例

/etc/init.d/目录下新建服务文件nginx,内容如下

#!/bin/bash

#chkconfig:35 85 15

DAEMON=/usr/local/nginx/sbin/nginx
PID=/usr/local/nginx/log/nginx.pid

case "$1" in
    start)
        echo "Starting nginx daemon..."
	$DAEMON && echo "SUCCESS" #开启nginx
    ;;
    stop)
        echo "Stopping nginx daemon..."
	$DAEMON -s quit && echo "SUCCESS" #从容停止nginx
    ;;
    reload)
        echo "Reloading nginx daemon..."
        $DAEMON -s reload && echo "SUCCESS" #平滑重启nginx
    ;;
    restart)
	echo "Restarting nginx daemon...."
	
	if [ ! -f "$PID" ]; then
	    ps -ef | grep nginx | awk '{print "kill -9 "$2}' | sh
	    $DAEMON && echo "SUCCESS"  
	else
	    $DAEMON -s quit
            $DAEMON && echo "SUCCESS"
	fi
    ;;
    status)
	if [ ! -f "$PID" ]; then
	    echo "Nginx is not running..."
	else
	    echo "nginx is running..."
	fi
    ;;
    *)
	echo "Usage:service nginx (start|stop|restart|reload|status)"
	exit 2
    ;;
esac

添加执行权限

# 添加执行权限
chmod +x /etc/init.d/nginx

更新服务

# 更新服务
sudo update-rc.d nginx defaults
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值