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

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
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Linux 中以 root 用户身份启动服务,需要进行以下步骤: 1. 编写服务脚本:创建一个服务脚本,以定义服务的行为、启动方式和关闭方式等。 2. 将脚本放置在 /etc/init.d 目录下:将编写好的服务脚本放置在 Linux 系统的 /etc/init.d 目录下。 3. 设置服务脚本权限:使用 chmod 命令设置服务脚本的权限,使其可执行。 4. 将服务脚本添加系统服务管理器中:使用 chkconfig 命令将服务脚本添加系统服务管理器中,以实现开机自启动。 5. 启动服务:使用 service 命令启动服务。 具体的命令如下: 1. 编写服务脚本:可以使用任何文本编辑器编写服务脚本,例如: ``` #!/bin/bash # chkconfig: 2345 20 80 # description: My service start() { echo "Starting my service..." # 启动命令 } stop() { echo "Stopping my service..." # 停止命令 } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 ``` 其中,第二行的 chkconfig 指令指定了服务的启动级别,第三行的 description 指定了服务的描述信息,start() 和 stop() 函数分别定义了启动和停止服务所要执行的命令。 2. 将脚本放置在 /etc/init.d 目录下:将编写好的服务脚本放置在 Linux 系统的 /etc/init.d 目录下,例如: ``` sudo cp myservice /etc/init.d/ ``` 3. 设置服务脚本权限:使用 chmod 命令设置服务脚本的权限,使其可执行,例如: ``` sudo chmod +x /etc/init.d/myservice ``` 4. 将服务脚本添加系统服务管理器中:使用 chkconfig 命令将服务脚本添加系统服务管理器中,例如: ``` sudo chkconfig --add myservice ``` 5. 启动服务:使用 service 命令启动服务,例如: ``` sudo service myservice start ``` 这样,服务就会以 root 用户身份启动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值