砥砺前行,蜗牛也上网
VPS、独服专业分享站

搭建自己的磁力搜索网站[zsky]

[演示网站]

随着网络的发达和人们对网络依赖越来越严重,有什么想法或问题首先想到的便是上网查找,当然也包括娱乐,比如有时想看部影片但又不知道去哪里搜索、或者有时候搜索到了也无法正常下载观看,我自己就经常遇到这样的情况:有时为了搜一部电影而满世界找,找到了倒也欣慰就怕花了半天时间还找不到,苦恼啊。最终想着自己搭建个磁力搜索网站,想找什么资源到自己网站搜索就有结果了,说干就干!在花了半个晚上的时间后终于正式开通并已经搜集到一百多万条资源链接了,先把建站的过程写下来存个档,以备不时之需,也共享给有需要的朋友。

首先当然是购买域名和空间了,这个不想多说(因为网上一搜一大把教程),我们直接说说具体的搭建过程吧:

系统安装好后先升级下源,我用的Centos 7:

yum update -y
yum install wget -y

有些版本的系统没安装wget
我这里安装的是『纸上烤鱼』爬虫程序,所以在运行安装脚本前得更新下阿里源:
首先下载配置:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

然后更新索引:

yum clean all && yum makecache

接下来把zsky.sh脚本上传到主机,我是放在ROOT文件夹下,切记!修改权限为777,否则会报些奇怪的错。

然后运行脚本 ./zsky.sh,后面的过程就按照提示操作,安装完成后即开始工作了。下面是常用维护命令:

修改simdht_worker.py里的max_node_qsize的大小调节爬取速度(队列大小)

执行 python manage.py init_db     创建表/平滑升级表结构

执行 python manage.py create_user 创建管理员

执行 python manage.py changepassword 修改管理员密码

执行 systemctl start gunicorn  启动网站

执行 systemctl start mariadb  启动数据库

执行 systemctl status mariadb  查看数据库运行状态

执行 systemctl restart mariadb  重新启动数据库

执行 systemctl status gunicorn  查看gunicorn运行状态

执行 systemctl restart gunicorn   重新启动网站

执行 systemctl restart indexer  手动重新索引

执行 systemctl start searchd  开启搜索进程

执行 systemctl status searchd  查看搜索进程运行状态

执行 systemctl restart searchd   重新启动搜索进程

杀死爬虫
ps -ef|grep simdht_worker.py|grep -v grep|awk ‘{print $2}’ |xargs kill -9

杀死并启动爬虫
ps -ef|grep simdht_worker.py|grep -v grep|awk ‘{print $2}’ |xargs kill -9
cd /root/zsky
nohup python simdht_worker.py>/root/zsky/spider.log 2>&1&

还有常见问题及解答:
Q:如何修改站点名?

A:修改manage.py里的常量sitename

Q:如何修改地图里的域名?

A:修改manage.py里的常量domain

Q:如何实现远程主机反向代理本机的程序?

A:修改本机的/etc/systemd/system/gunicorn.service其中的127.0.0.1:8000修改为0.0.0.0:8000然后执行systemctl daemon-reload,然后执行systemctl restart gunicorn,本机不开启nginx,远程主机开启nginx、配置反向代理、绑定域名即可,nginx的配置文件参考程序内的nginx.conf 。

Q:如何限制/提高爬取速度?

A:修改simdht_worker.py里的max_node_qsize=后面的数字,越大爬取越快,越小爬取越慢

Q:如何修改数据库密码?

A:执行mysqladmin -uroot -p password 123456!@#$%^ //将提示输入当前密码,123456!@#$%^是新密码

Q:修改数据库密码后怎么修改程序里的配置?

A:修改manage.py里的mysql+pymysql://root:密码@127.0.0.1、修改manage.py里的DB_PASS、修改simdht_worker.py里的DB_PASS、修改sphinx.conf里的sql_pass

Q:怎么确定爬虫是在正常运行?

A:执行 ps -ef|grep -v grep|grep simdht 如果有结果说明爬虫正在运行

Q:更新manage.py/模板后怎么立即生效?

A:执行 systemctl restart gunicorn 重启gunicorn

Q:为什么首页统计的数据小于后台的数据?

A:在数据量变大后,索引将占用CPU 100%,非常影响用户访问网站,为了最小程度减小此影响 默认设置为每天早上5点更新索引,你想现在更新爬取结果的话,手动执行索引 systemctl restart indexer ,需要注意的是,数据量越大 索引所耗费时间越长

Q:如何查看索引是否成功?

A:执行 systemctl status indexer 可以看到索引记录

Q:觉得索引速度慢,如何加快?

A:修改sphinx.conf里面的mem_limit = 512M ,根据你的主机的内存使用情况来修改,数值越大索引越快,最大可以设置为2048M

Q:如何确定搜索进程是否正常运行

A:执行 systemctl status searchd ,如果是绿色的running说明搜索进程完全正常

Q:如何备份数据库?

A:执行 mysqldump -uroot -p zsky>/root/zsky.sql 导出数据库 //将提示输入当前密码,数据库导出后存在/root/zsky.sql
还可以压缩数据库:mysqldump -uroot -p zsky | gzip >/root/zsky.sql.gz

Q:数据库备份后,现在重新安装了程序,如何导入旧数据?

A:执行 mysql -uroot -p zsky</root/zsky.sql //假设你的旧数据库文件是/root/zsky.sql,将提示输入当前密码,输入后耐心等待

压缩数据库还原:gunzip < zsky.sql.gz | mysql -uroot -p zsky

Q:如何迁移到新主机?

A:备份数据库(方法见上面)→ 程序拷贝到新主机 → 安装程序 → 导入数据库(方法见上面)→ 重新索引

赞(0) 打赏
未经允许不得转载:上网的蜗牛 » 搭建自己的磁力搜索网站[zsky]

请不吝赐教 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏