gpt4 book ai didi

ubuntu - 在后台/作为服务运行 Scrapyd 的首选方式

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:54 25 4
gpt4 key购买 nike

我正在尝试在通过 SSH 连接到的虚拟 Ubuntu 16.04 服务器上运行 Scrapyd。当我通过简单地运行来运行 scrapy 时

$ scrapyd

我可以通过转到 http://82.165.102.18:6800 连接到 Web 界面.

但是,一旦我关闭 SSH 连接,Web 界面就不再可用,因此,我认为我需要以某种方式在后台将 Scrapyd 作为服务运行。

经过一些研究,我发现了一些建议的解决方案:

  • 守护进程(sudo apt 安装守护进程)
  • 屏幕(sudo apt 安装屏幕)
  • tmux(sudo apt install tmux)

有人知道最好/推荐的解决方案是什么吗?不幸的是,Scrapyd documentation相当单薄和过时。

对于某些背景,我需要每天运行大约 10-15 个爬虫。

最佳答案

将ScrapyD设置为系统服务

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

然后复制粘贴如下

[Unit]
Description=Scrapyd service
After=network.target

[Service]
User=<YOUR-USER>
Group=<USER-GROUP>
WorkingDirectory=/any/directory/here
ExecStart=/usr/local/bin/scrapyd

[Install]
WantedBy=multi-user.target

然后启用服务

systemctl enable scrapyd.service

然后开始服务

systemctl start scrapyd.service

不推荐的另一种方法

使用这个命令。

cd /path/to/your/project/folder && nohup scrapyd >& /dev/null &

现在您可以关闭 SSH 连接,但 scrapyd 将继续运行。

并确保每当您的服务器重新启动并且 scrapyd 自动运行。这样做

从您的终端复制 echo $PATH 的输出,然后通过 crontab -e 打开您的 crontab

现在在那个文件的最顶部,写这个

PATH=YOUR_COPIED_CONTENT

现在在你的 crontab 的末尾,写下这个。

@reboot cd /path/to/your/project/folder && nohup scrapyd >& /dev/null &

这意味着,每次您的服务器重新启动时,上面的命令都会自动运行

关于ubuntu - 在后台/作为服务运行 Scrapyd 的首选方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47065225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com