运行 Scrapyd 作为 centos 6.10 上的守护进程 python 3.6

Running Scrapyd as a daemon on centos 6.10 python 3.6

我正在尝试 运行 我的专用 centos 6.10 服务器上的爬虫。我安装了 python 3.6.6,创建了 venv,并从 pip 安装了 运行 scrapyd。命令 scrapyd 显示:

2018-10-24T12:23:56-0700 [-] Loading /usr/local/lib/python3.6/site-packages/scrapyd/txapp.py...
2018-10-24T12:23:57-0700 [-] Scrapyd web console available at http://127.0.0.1:6800/
2018-10-24T12:23:57-0700 [-] Loaded.
2018-10-24T12:23:57-0700 [twisted.scripts._twistd_unix.UnixAppLogger#info] twistd 18.7.0 (/usr/local/bin/python3.6 3.6.6) starting up.
2018-10-24T12:23:57-0700 [twisted.scripts._twistd_unix.UnixAppLogger#info] reactor class: twisted.internet.epollreactor.EPollReactor.
2018-10-24T12:23:57-0700 [-] Site starting on 6800
2018-10-24T12:23:57-0700 [twisted.web.server.Site#info] Starting factory <twisted.web.server.Site object at 0x7f4661cdf940>
2018-10-24T12:23:57-0700 [Launcher] Scrapyd 1.2.0 started: max_proc=16, runner='scrapyd.runner'

太棒了。现在我有几个问题。

1- 如果这是 运行ning 在我的专用服务器上,是否意味着 scrapyd 网络控制台然后在 [serverIP]:6800?或者,至少,它应该在那里吗?因为当命令是 运行ning 时,它不会出现。找不到网站。所以,我有点碰壁了。

2- 另一件事是,我不想让浏览器或 SSH 终端处于打开状态才能获取 scrapyd 运行ning。我读过的所有文章都建议 scrapyd 没有合适的 RPM 包,直到有人制作了一个我运气不好,因为我个人不是 linux 专家,我很惊讶我制作了它到此为止。

所以我猜这是 运行ning scrapyd 作为服务器上的守护进程的问题,因为它需要特殊文件。我可以直接从 git 安装 scrapyd 吗?然而,即使 git 似乎也没有我似乎需要让这个项目工作的正确文件。

如果有人可以在正确的轨道上帮助我,指导我或提供一篇文章,其中有人在 6.10 上完成了整个过程,那就太棒了。

1 - 使用 scrapyd 配置文件在其中添加 bind_address=0.0.0.0

# cat ~/.scrapyd.conf [scrapyd] bind_address=0.0.0.0

启动 scrapyd,你应该会看到类似

的内容

2018-11-11T13:58:08-0800 [-] Scrapyd web console available at http://0.0.0.0:6800/

现在您应该可以从 [serverIP]:6800

访问 Web 界面

2 - 你总是可以为此使用 tmux,阅读 https://hackernoon.com/a-gentle-introduction-to-tmux-8d784c404340

您可以使用@Rene_Xu 答案并检查防火墙以查看其是否断开外部连接。为了使 scrapyd 保持活动状态,您可以编写一个简单的脚本并将其变成一个守护进程,或者按照说明使用 crontab here

此外,检查您的专用环境设置,例如,如果您托管在 AWS 中,则需要设置您的安全组、网络 ACL 等,以允许在此特定端口上传入请求。