为scrapyd创建服务

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

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

systemd —version

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

Then add the following line into that file:

  1. [Unit]
  2. Description=scrapyd
  3. After=network.target
  4. Documentation=http://scrapyd.readthedocs.org/en/latest/api.html
  5. [Service]
  6. User=root
  7. ExecStart=/usr/local/bin/scrapyd --logfile /var/scrapyd/scrapyd.log
  8. [Install]
  9. WantedBy=multi-user.target

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

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

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

  1. ExecStart:启动当前服务的命令

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

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

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

  1. sudo systemctl start scrapyd
  2. sudo service scrapyd start

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

  1. sudo systemctl status scrapyd

开机启动

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

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

取消开机启动

  1. sudo systemctl disable scrapyd

作业

Systemd 入门教程:命令篇

Systemd 入门教程:实战篇