Scrapyd安裝

      網(wǎng)友投稿 709 2025-04-04

      Scrapyd 是一個用于部署和運行 Scrapy 項目的工具。有了它,你可以將寫好的 Scrapy 項目上傳到云主機(jī)并通過 API 來控制它的運行。

      既然是 Scrapy 項目部署,所以基本上都使用 Linux 主機(jī),所以本節(jié)的安裝是針對于 Linux 主機(jī)的。

      相關(guān)鏈接

      GitHub:https://github.com/scrapy/scrapyd

      PyPi:https://pypi.python.org/pypi/scrapyd

      官方文檔:https://scrapyd.readthedocs.io

      pip 安裝

      推薦使用 pip 安裝,命令如下:

      1

      pip3 install scrapyd

      配置

      安裝完畢之后需要新建一個配置文件 /etc/scrapyd/scrapyd.conf,Scrapyd 在運行的時候會讀取此配置文件。

      在 Scrapyd 1.2 版本之后不會自動創(chuàng)建該文件,需要我們自行添加。

      執(zhí)行命令新建文件:

      1

      2

      sudo mkdir /etc/scrapyd

      sudo vi /etc/scrapyd/scrapyd.conf

      寫入如下內(nèi)容:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      [scrapyd]

      eggs_dir = eggs

      logs_dir = logs

      items_dir =

      jobs_to_keep = 5

      dbs_dir = dbs

      max_proc = 0

      max_proc_per_cpu = 10

      finished_to_keep = 100

      poll_interval = 5.0

      bind_address = 0.0.0.0

      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

      配置文件的內(nèi)容可以參見官方文檔:https://scrapyd.readthedocs.io/en/stable/config.html#example-configuration-file,在這里的配置文件有所修改,其中之一是 max_proc_per_cpu 官方默認(rèn)為 4,即一臺主機(jī)每個 CPU 最多運行 4 個 Scrapy Job,在此提高為 10,另外一個是 bind_address,默認(rèn)為本地 127.0.0.1,在此修改為 0.0.0.0,以使外網(wǎng)可以訪問。

      后臺運行

      由于 Scrapyd 是一個純 Python 項目,在這里可以直接調(diào)用 scrapyd 來運行,為了使程序一直在后臺運行,Linux 和 Mac 可以使用如下命令:

      1

      (scrapyd > /dev/null &)

      這樣 Scrapyd 就會在后臺持續(xù)運行了,控制臺輸出直接忽略,當(dāng)然如果想記錄輸出日志可以修改輸出目標(biāo),如:

      1

      (scrapyd > ~/scrapyd.log &)

      則會輸出 Scrapyd 運行輸出到~/scrapyd.log 文件中。

      運行之后便可以在瀏覽器的 6800 訪問 WebUI 了,可以簡略看到當(dāng)前 Scrapyd 的運行 Job、Log 等內(nèi)容,如圖所示:

      當(dāng)然運行 Scrapyd 更佳的方式是使用 Supervisor 守護(hù)進(jìn)程運行,如果感興趣可以參考:http://supervisord.org/。

      訪問認(rèn)證

      限制配置完成之后 Scrapyd 和它的接口都是可以公開訪問的,如果要想配置訪問認(rèn)證的話可以借助于 Nginx 做反向代理,在這里需要先安裝 Nginx 服務(wù)器。

      在此以 Ubuntu 為例進(jìn)行說明,安裝命令如下:

      1

      sudo apt-get install nginx

      然后修改 Nginx 的配置文件 nginx.conf,增加如下配置:

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      http {

      server {

      listen 6801;

      location / {

      proxy_pass http://127.0.0.1:6800/;

      auth_basic "Restricted";

      Scrapyd 的安裝

      auth_basic_user_file /etc/nginx/conf.d/.htpasswd;

      }

      }

      }

      在這里使用的用戶名密碼配置放置在 /etc/nginx/conf.d 目錄,我們需要使用 htpasswd 命令創(chuàng)建,例如創(chuàng)建一個用戶名為 admin 的文件,命令如下:

      1

      htpasswd -c .htpasswd admin

      接下就會提示我們輸入密碼,輸入兩次之后,就會生成密碼文件,查看一下內(nèi)容:

      1

      2

      cat .htpasswd

      admin:5ZBxQr0rCqwbc

      配置完成之后我們重啟一下 Nginx 服務(wù),運行如下命令:

      1

      sudo nginx -s reload

      這樣就成功配置了 Scrapyd 的訪問認(rèn)證了。

      Nginx

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:編輯批注(編輯批注怎么不顯示)
      下一篇:怎么獲取表格中最大值的行號和列號(表格怎樣求列的最大值)
      相關(guān)文章
      亚洲在成人网在线看| 亚洲AV无码专区日韩| 亚洲另类少妇17p| 一本色道久久88亚洲精品综合| 亚洲一区免费观看| 综合久久久久久中文字幕亚洲国产国产综合一区首| 亚洲色大成WWW亚洲女子| 亚洲av一本岛在线播放| 亚洲精品一区二区三区四区乱码| 亚洲视频在线观看网站| 亚洲精品乱码久久久久久下载| 亚洲欧洲日产国产最新| 亚洲人成在线免费观看| 亚洲va精品中文字幕| 亚洲一级在线观看| 久久精品国产99国产精品亚洲| 亚洲av无码不卡久久| 亚洲真人无码永久在线观看| 亚洲人成电影网站色www| 亚洲大尺度无码无码专线一区| 亚洲成av人片天堂网无码】| jzzijzzij在线观看亚洲熟妇| 国产av无码专区亚洲av毛片搜| 亚洲第一成人影院| 国产国拍精品亚洲AV片| 亚洲精品高清国产一线久久| 亚洲AV无码乱码在线观看裸奔| 亚洲精品高清视频| 亚洲国色天香视频| 最新国产精品亚洲| 国产AV无码专区亚洲AV蜜芽| 亚洲国产一区明星换脸| 亚洲日本va中文字幕久久| 亚洲AV成人一区二区三区AV| 亚洲色图古典武侠| 美女视频黄免费亚洲| 亚洲AⅤ视频一区二区三区| 最新精品亚洲成a人在线观看| 久久青草亚洲AV无码麻豆| 亚洲精品福利网站| 亚洲中文字幕无码久久|