簡體   English   中英

我無法從瀏覽器訪問 scrapyd 端口 6800

[英]I can't access scrapyd port 6800 from browser

我對此進行了很多搜索,它可能有一個我缺少的簡單解決方案。

我在本地機器和服務器上都安裝了 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)

我在遠程服務器上打開了入站和出站連接,我還缺少什么?

謝謝

首先檢查它是否正在運行,在運行 ScrapyD 的服務器上運行 curl localhost:6800

檢查是否啟用了防火牆

sudo ufw status

理想情況下,只允許 tcp 連接到 6800 而不是禁用防火牆,這樣做

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,而不僅僅是本地主機。

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

然后使用命令scrapyd


注意:如果你想在與服務器斷開連接后仍保持scrapyd運行,請執行此操作

nohup scrapyd >& /dev/null &

另請參閱我將 ScrapyD 設置為系統服務的回答

我知道這個答案可能會遲到,但我希望它能幫助像我這樣的人。

從官方文檔中,它會在這些地方搜索配置文件:

  • /etc/scrapyd/scrapyd.conf (Unix)
  • c:\scrapyd\scrapyd.conf (視窗)
  • /etc/scrapyd/conf.d/*(按字母順序,Unix)scrapyd.conf
  • ~/.scrapyd.conf(用戶主目錄)

所以你需要創建一個scrapyd.conf文件,並在其中進行一些配置。

這是一個示例配置文件,其中包含文檔中的所有默認值:

[scrapyd]
eggs_dir    = eggs
logs_dir    = logs
items_dir   =
jobs_to_keep = 5
dbs_dir     = dbs
max_proc    = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5.0
bind_address = 127.0.0.1
http_port   = 6800
debug       = off
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher
webroot     = scrapyd.website.Root

[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs
daemonstatus.json = scrapyd.webservice.DaemonStatus

您需要做的是:將 bind_address 更改為 0.0.0.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM