python - 我无法从浏览器访问scrapyd端口6800

标签 python scrapy scrapyd

我对此进行了很多搜索,可能缺少一个简单的解决方案。

我在本地计算机和服务器上都设置了scrapy + scrapyd。当我尝试使用“scrapyd”时,它们都可以正常工作。

我可以毫无问题地部署到本地,也可以从浏览器访问localhost:6800,并且可以在本地运行蜘蛛。

在远程上运行scrapyd之后,我尝试以与本地部署相同的方式部署到http://remoteip:6800/

我明白了

Packing version 1500333306
Deploying to project "projectX" in http://remoteip:6800/addversion.json
Deploy failed: <urlopen error [Errno 111] Connection refused>

我也无法从本地PC访问http://remoteip:6800/,但可以从远程PC上的ssh访问(带有curl)

我在远程服务器上打开了入站和出站连接,还缺少什么?

谢谢

最佳答案

检查防火墙是否启用,通过运行(在Ubuntu上)将其禁用

sudo ufw status

理想情况下,只允许tcp连接到6880,而不要禁用防火墙
sudo ufw allow 6800/tcp
sudo ufw reload

检查您的scrapyd.conf请设置
bind_address=0.0.0.0

代替
bind_address=127.x.x.x
0.0.0.0将使scrapyD可用于服务器/实异常(exception)部的传入连接,而不仅限于本地主机。

然后停止scrapyD,我执行killall scrapyd停止scrapyd

然后使用scrapyd命令重新启动scrapyD

注意:
如果即使从服务器断开连接后仍要保持scrapyd运行,请执行此操作
nohup scrapyd >& /dev/null &

另请参阅我对set ScrapyD as a System Service的回答

关于python - 我无法从浏览器访问scrapyd端口6800,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45122100/

相关文章:

linux - 如何使用密码保护Scrapyd UI?

python - 浏览零售商网站上的每件产品

python - 如何在 Django 中添加我自己的 html 模板

web-scraping - 如何设置Scrapy设置?

python - 将 scrapy 蜘蛛构建到我自己的程序中,我不想从命令行调用 scrapy)

python - Scrapyd 和单蜘蛛的并行/性能问题

ubuntu - 如何在服务器上运行 Scrapyd

python - 从 rtsp H.264 视频流中捕获单个图像

python - 在具有相似但不精确值的列上连接数据框

python - xpath 获取表中的第三个 tr 及更多内容