为scrapyd创建服务

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。

  1. 首先检查你的系统中是否安装有systemd并确定当前安装的版本

systemd --version

sudo vi /lib/systemd/system/scrapyd.service

Then add the following line into that file:

[Unit]
Description=scrapyd
After=network.target
Documentation=http://scrapyd.readthedocs.org/en/latest/api.html

[Service]
User=root
ExecStart=/usr/local/bin/scrapyd --logfile /var/scrapyd/scrapyd.log

[Install]
WantedBy=multi-user.target

[Unit]区块通常是配置文件的第一个区块,用来定义 Unit 的元数据,以及配置与其他 Unit 的关系

After:如果该字段指定的 Unit After 也要启动,那么必须在当前 service 之前启动
Documentation:服务文档地址
Description:简短描述

[Service]区块用来 Service 的配置,只有 Service 类型的 Unit 才有这个区块

ExecStart:启动当前服务的命令

[Install]通常是配置文件的最后一个区块,用来定义如何启动,以及是否开机启动

WantedBy:它的值是一个或多个 Target,当前 Unit 激活时(enable)符号链接会放入/etc/systemd/system目录下面以 Target 名 + .wants后缀构成的子目录中

At this point, we can now start our new service by running the command below:

sudo systemctl start scrapyd
sudo service scrapyd start

To check the status of the service, issue the following command:

sudo systemctl status scrapyd

开机启动

To make the services start at boot time, use the command below:

sudo systemctl enable scrapyd
Created symlink from /etc/systemd/system/multi-user.target.wants/scrapyd.service to /lib/systemd/system/scrapyd.service.

取消开机启动

sudo systemctl disable scrapyd

作业

Systemd 入门教程:命令篇

Systemd 入门教程:实战篇