sudo pip install scrapyd
#文件~/.scrapyd.conf #內容以下: [scrapyd] eggs_dir = /home/sirius/scrapyd/eggs logs_dir = /home/sirius/scrapyd/logs items_dir = /home/sirius/scrapyd/items jobs_to_keep = 5 dbs_dir = /home/sirius/scrapyd/dbs max_proc = 0 max_proc_per_cpu = 4 finished_to_keep = 50 poll_interval = 5 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
守護進程,用這個的緣由實在是由於scrapyd太脆弱了,一看不住就掛了html
sudo pip install supervisor
sudo mkdir -p /etc/supervisor/ #導入默認配置 sudo su - root -c "echo_supervisord_conf > /etc/supervisor/supervisord.conf" #連接管理 [inet_http_server] ; inet (TCP) server disabled by default port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface) ;username=user ; (default is no username (open server)) ;password=123 ; (default is no password (open server)) [supervisorctl] ;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket ;username=chris ; should be same as http_username if set ;password=123 ; should be same as http_password if set ;prompt=mysupervisor ; cmd line prompt (default "supervisor") ;history_file=~/.sc_history ; use readline history if available #設置管理進程 [program:scrapyd] command=scrapyd autostart=true autorestart=unexpected
`建立文件/usr/lib/systemd/system/supervisord.service內容以下: [Unit] Description=supervisord - Supervisor process control system for UNIX Documentation=http://supervisord.org After=network.target [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf ExecReload=/usr/bin/supervisorctl reload ExecStop=/usr/bin/supervisorctl shutdown User=<user> [Install] WantedBy=multi-user.target #啓動 sudo systemctl enable supervisord sudo systemctl start supervisord #查看 supervisorctl #如一切正常 |>$ scrapyd RUNNING pid 8059, uptime 0:02:02
#經常使用命令 status #查看狀態 reload #從新載入 restart scrapyd #重啓任務 update #能夠更新 supervisor 配置 tail -f scrapyd stderr #檢查日誌
cd <項目目錄> scrapyd-deploy
curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider