1、新建文件/etc/init.d/scrapyd
vim /etc/init.d/scrapyd
- 新建 文件添加内容
#!/bin/bash
# chkconfig: 2345 20 80
# description: Srapyd
PORT=6800
HOME="/var/scrapyd"
# find scrapyd 查找到的路径 写入BIN
BIN="/usr/local/bin/scrapyd"
pid=`netstat -lnopt | grep :$PORT | awk '/python/{gsub(/\/python/,"",$7);print $7;}'`
start() {
if [ -n "$pid" ]; then
echo "server already start,pid:$pid"
return 0
fi
cd $HOME
nohup $BIN >> $HOME/scrapyd.log 2>&1 &
echo "start at port:$PORT"
}
stop() {
if [ -z "$pid" ]; then
echo "not find program on port:$PORT"
return 0
fi
kill -9 $pid
echo "kill program use signal 9,pid:$pid"
}
status() {
if [ -z "$pid" ]; then
echo "not find program on port:$PORT"
else
echo "program is running,pid:$pid"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo "Usage: {start|stop|status}"
;;
esac
exit 0
- 给新建文件添加权限
chmod 755 /etc/init.d/scrapyd
- 新建目录/var/scrapyd
mkdir /var/scrapyd
- 设置开机自启动
添加/删除/查看 只需要执行添加 然后查看即可
chkconfig --add scrapyd
chkconfig --del scrapyd
chkconfig --list
- 其他主机访问设置
scrapyd启动bind绑定的ip地址是127.0.0.1端口是:6800,这里为了其他主机可以访问,需将ip地址设置为0.0.0.0
find 查找default_scrapyd.conf 注意文件在scrapyd 下
更改为
bind_address = 0.0.0.0
注意: 操作命令
service scrapyd {start|stop|status}
二: SpiderKeeper的开机自启动服务
8. 寻找 SpiderKeeper 的run.py
find / -name run.py
eg:如下
/usr/local/python36/lib/python3.6/site-packages/SpiderKeeper/run.py
2. 在/etc/rc.d/init.d下新建一个启动SpiderKeeper的文件spiderkeeper.sh
touch spiderkeeper.sh
- spiderkeeper.sh文件中添加如下:
#! /bin/bash
# chkconfig: 2345 10 90
# description: spiderkeeper.sh
# find 查询到的 也可以使用软连接 到/usr/bin 在其下创建一个 软件接到run.py 也可以
# eg python /usr/bin/spiderkeeper (ln -s /usr/bin/spiderkeeper /usr/local/python36/lib/python3.6/site-packages/SpiderKeeper/run.py)
python /usr/local/python36/lib/python3.6/site-packages/SpiderKeeper/run.py
- 文件加权限
chmod +x spiderkeeper.sh
- 启动脚本使用choconfig设置开机自启动
语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
--add 添加服务
--del 删除服务
--list 查看各服务启动状态
所以下面执行添加spiderkeeper.sh服务:
chkconfig --add spiderkeeper.sh
执行启动spiderkeeper.sh服务:
chkconfig spiderkeeper.sh on
- 状态相关命令
启动/暂停/重启/查询
service spiderkeeper.sh start|stop|restart|status