Seb*_*ian 7 ubuntu scrapy scrapyd
我正在尝试在我通过 SSH 连接的虚拟 Ubuntu 16.04 服务器上运行 Scrapyd。当我通过简单地运行来运行scrapy
$ scrapyd
Run Code Online (Sandbox Code Playgroud)
我可以通过访问http://82.165.102.18:6800连接到 Web 界面。
但是,一旦我关闭 SSH 连接,Web 界面就不再可用,因此,我认为我需要以某种方式在后台运行 Scrapyd 作为服务。
经过一番研究,我发现了一些建议的解决方案:
有人知道最好/推荐的解决方案是什么吗?不幸的是,Scrapyd 文档相当单薄且过时。
对于某些背景,我每天需要运行大约 10-15 个蜘蛛。
Uma*_*air 12
sudo nano /lib/systemd/system/scrapyd.service
Run Code Online (Sandbox Code Playgroud)
然后复制粘贴如下
[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
Run Code Online (Sandbox Code Playgroud)
然后启用服务
systemctl enable scrapyd.service
Run Code Online (Sandbox Code Playgroud)
然后启动服务
systemctl start scrapyd.service
Run Code Online (Sandbox Code Playgroud)
使用此命令。
cd /path/to/your/project/folder && nohup scrapyd >& /dev/null &
Run Code Online (Sandbox Code Playgroud)
现在您可以关闭 SSH 连接,但 scrapyd 将继续运行。
并确保无论何时您的服务器重新启动并且scrapyd 都会自动运行。做这个
echo $PATH从您的终端复制输出,然后通过以下方式打开您的 crontabcrontab -e
现在在该文件的最顶部,写下这个
PATH=YOUR_COPIED_CONTENT
Run Code Online (Sandbox Code Playgroud)
现在在你的 crontab 的末尾,写下这个。
@reboot cd /path/to/your/project/folder && nohup scrapyd >& /dev/null &
Run Code Online (Sandbox Code Playgroud)
这意味着,每次您的服务器重新启动时,上面的命令都会自动运行
| 归档时间: |
|
| 查看次数: |
4626 次 |
| 最近记录: |