手撕包菜 mysql_手撕包菜搭建

01f3c2abdaad932df00bf5feb9bc5a69.png

概述

最近做了两件事,一件事就是买了块1t硬盘,第二件事就是买了个百度云会员,无奈找不到资源下载,那就没办法了,搭建一个磁力链接搜索引擎来爬去链接,然后去找资源。

说道磁力链接搜索引擎,最好的当然是手撕包菜了。

搭建

直接使用脚本搭建安装,记住服务器内存最好1g以上的

wget --no-check-certificate https://raw.githubusercontent.com/banwagong-news/scripts/master/ssbc-setup.sh && bash ssbc-setup.sh

之后会让你输入下面的信息

请输入网站域名,多个域名用空格隔开:192.168.1.149

确定浏览器能访问网站 http://192.168.1.149 吗?[y/n]y

Username (leave blank to use 'root'): root

Email address: bboysoulcn@gmail.com

Password:

Password (again):

Superuser created successfully.

等待一段时间就会有数据了,但是注意服务器一定要是国外的服务器,为什么要使用国外的服务器呢大家应该都懂的。

数据库相关

脚本安装的mariadb默认是不允许其他机器登录的,所以如果你要使用本地的数据库连接工具连接这个mariadb的话就要开启mariadb的root远程连接了,还有就是默认是没有密码的,所以最好你设置一个root密码,首先设置root密码,输入

mysql_secure_installation

之后按照提示操作就好

[root@bboysoul-centos ssbc]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current

password for the root user. If you've just installed MariaDB, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB

root user without the proper authorisation.

Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone

to log into MariaDB without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] y

... Success!

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n

... skipping.

By default, MariaDB comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] y

... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB

installation should now be secure.

Thanks for using MariaDB!

之后就是开启mariadb的远程访问

首先登陆mariadb

mysql -u root -p

之后输入下面命令

MariaDB [mysql]> use mysql

Database changed

MariaDB [mysql]> update user set Host='%' where Host='localhost';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [mysql]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]>

接着就可以远程登陆数据库了

之后要修改手撕包菜程序里面的连接密码

首先关闭相关的进程

ps -ef |grep python

一般就是下面几个进程

root 958 1 0 20:51 ? 00:00:00 /usr/bin/python -Es /usr/sbin/tuned -l -P

root 3604 1 0 21:13 pts/0 00:00:00 /usr/bin/python2 /usr/bin/gunicorn ssbc.wsgi:application -b 127.0.0.1:8000 --reload

root 3616 3604 1 21:13 pts/0 00:00:09 /usr/bin/python2 /usr/bin/gunicorn ssbc.wsgi:application -b 127.0.0.1:8000 --reload

root 3693 1 12 21:15 ? 00:01:30 python simdht_worker.py

root 3694 1 0 21:15 ? 00:00:00 python index_worker.py

kill之后再kill下面几个进程

ps -ef |grep search

root 3467 1 0 21:03 ? 00:00:00 searchd --config ./sphinx.conf

root 3468 3467 0 21:03 ? 00:00:02 searchd --config ./sphinx.conf

接着修改配置文件

vim /root/ssbc/sphinx.conf

增加数据库的密码

sql_host = 127.0.0.1

sql_user = root

sql_pass =

sql_db = ssbc

sql_port = 3306 # optional, default is 3306

vi /root/ssbc/workers/index_worker.py

SRC_HOST = '127.0.0.1'

SRC_USER = 'root'

SRC_PASS = ''

DST_HOST = '127.0.0.1'

DST_USER = 'root'

DST_PASS = ''

上面两个密码都要修改

vi /root/ssbc/workers/simdht_worker.py

DB_HOST = '127.0.0.1'

DB_USER = 'root'

DB_PORT = 3306

DB_PASS = ''

DB_NAME = 'ssbc'

BLACK_FILE = 'black_list.txt'

vim /root/ssbc/ssbc/settings.py

修改下面,root后面加上数据库密码

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'ssbc',

'HOST': '127.0.0.1',

'PORT': 3306,

'USER': 'root',

'PASSWORD': 'woyaoxuehuilinux',

'OPTIONS': {

"init_command": "SET storage_engine=MYISAM",

}

}

}

关于数据迁移

这个其实好办先在新的机器上执行脚本,执行完成之后删除数据库建立新的ssbc数据库记住编码要utf-8的,之后把老的数据库导入新的就可以了

其他的使用技巧

我就直接复制粘贴了

1.必须centos7吗?

非常建议使用centos7,centos6可能会有意想不到的错误

2.如何设置首页关键字?

登录管理员后台,点击Rec keywordss,右上角新增

3.怎么查看入库的文件?

登录管理员后台,点击 Hashs

4.怎么查看每天入库了多少文件,以便清楚入库效率?

登录管理员后台,点击 Status reports

5.如何确认web服务器、采集、入库正在运行?

运行 ps -ef|grep python|grep -v grep

结果里面有

gunicorn ssbc.wsgi:application -b 127.0.0.1:8000 --reload

python simdht_worker.py

python index_worker.py

即表示正在运行。

——————————————————————————————————————

去除搜索页 右下角广告

[root@localhost ssbc-master]# cd web/static/js

[root@localhost js]# vi ssbc.js 找到如下3行,在前面添加//进行注释,保存

// document.write('

// document.writeln("");

// document.writeln("");

——————————————————————————————————————

如何修改扩展名归类?

workers/metautils.py文件中有如下代码:

def get_category(ext):

ext = ext + '.'

cats = {

u'video': '.avi.mp4.rmvb.m2ts.wmv.mkv.flv.qmv.rm.mov.vob.asf.3gp.mpg.mpeg.m4v.f4v.',

u'image': '.jpg.bmp.jpeg.png.gif.tiff.',

u'document': '.pdf.isz.chm.txt.epub.bc!.doc.ppt.',

u'music': '.mp3.ape.wav.dts.mdf.flac.',

u'package': '.zip.rar.7z.tar.gz.iso.dmg.pkg.',

u'software': '.exe.app.msi.apk.'

}

意思是:扩展名为.exe、.app、.msi、,.apk的文件都属于software类型。

如果你把u'software': '.exe.app.msi.apk.' 改为 u'software': 'app.msi.apk.',那么exe将会被归为other类型。

所以在这里修改归类设置。

——————————————————————————————————————

如何禁止某些格式/分类的文件入库?

workers/metadata.py文件中有如下代码:

info['extension'] = metautils.get_extension(bigfname).lower()

info['category'] = metautils.get_category(info['extension'])

所以如果你要排除扩展名为.exe的文件,或者类型为software,可以在上面代码后面加上

##########这是增加的过滤-开始############

#按扩张名过滤,禁止扩展名为.exe的入库

if info['extension'] == 'exe':

return # 直接返回,跳过下面的入库

#按文件类型过滤,禁止类型为software的入库

if info['category'] == 'software':

return

#禁止类型为other的入库

if info['category'] == 'other':

return

##########这是增加的过滤-结束############

——————————————————————————————————————

如何重建索引?

第一步:

删除/data目录

第二步:

进入数据库,把search_hash表中所有记录的tagged字段置为0。

UPDATE search_hash SET tagged=0

然后启动sphinx、index_worker.py。

——————————————————————————————————————

MySQL server has gone away提示怎么办?

ssbc 运行一段时间后,大概半个小时,就莫名奇妙停止不爬了。 错误提示如下:

MySQL server has gone away

通过错误提示可以看出,其实是ssbc与mysql(maridb)断开连接了,导致程序异常,当然就插入不了数据了。

有3种解决办法:

方法1是写个脚本,定时重启爬虫。

方法2是修改下代码,当mysql断开连接时,再次重连mysql就可以拉。

方法3是修改Mysql配置,将闲置时间wait_timeout设置长一点。

——————————————————————————————————————

哪里设置爬虫线程?让爬虫爬快/慢点?

在workers/simdht_worker.py里面把MAX_QUEUE_LT、MAX_QUEUE_PT、max_node_qsize设大/小一点。

如何关闭调试模式?设置404页面?

请参考 http://www.githubs.cn/post/19

——————————————————————————————————————

如何在搜索结果页面添加迅雷链接?

在web/views.py文件加入以下代码生成迅雷链接:

import base64

xunleiurl = 'AAmagnet:?xt=urn:btih:' + d['info']['info_hash'] + 'ZZ'

d['xunlei_url'] = 'thunder://' + base64.b64encode(xunleiurl)

可以在模板中用“ {{xunlei_url}} ”调用。位置要放在return render(request, 'info.html', d)的前面。

——————————————————————————————————————

SSBC如何搬家?

数据库用mysqldump导出sql,在新服务器上运行一键包,再导入刚才的sql。

——————————————————————————————————————

提示duplicate id 'xxxx'解决办法

进入数据库,执行语句

update search_hash set tagged=True where id=xxxx;

欢迎关注Bboysoul的博客www.bboysoul.com

Have Fun

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word流程图怎么使箭头对齐_word 流程图 怎么把箭头对整齐啊?

word里画流程图把箭bai头画直du,可通过shift键实现画出zhi垂直或水平的直箭头。方法步dao骤如下:回1、打开需要答操作的WORD文档,选中需要画出箭头的流程图框图,点解绘图工具中的“排列对齐”,然后选中“左右居中”对齐。2、在插入形状中找到并点击箭头,使用箭头形状工具…

java商品管理系统_【Java Web】简易商品信息管理系统——首个Web项目

正文之前在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统目前项目源码已全部上传至GitHub,欢迎大家来fork —— 商品信息管理系统正文…

java 向上舍入_介绍Java的大数类(BigDecimal)和八种舍入模式

1.BigDecimal简介BigDecimal 由任意精度的整数非标度值 和32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负scale 次幂。因此,BigDecimal表示的数值是(unscaledValue 10-s…

java spring mvc_java spring mvc 全注解

本人苦逼学生一枚,马上就要毕业,面临找工作,实在是不想离开学校.在老师的教导下学习了spring mvc ,配置文件实在繁琐,因此网上百度学习了spring mvc 全注解方式完成spring的装配工作;废话不多说了上干货,其实我也没怎么理解不过简单的运行了一个spring mvc 全注解项目,也不能说…

java 配置hdfs集群_Hadoop集群搭建-04安装配置HDFS

HDFS是配合Hadoop使用的分布式文件系统,分为namenode: nn1.hadoop nn2.hadoopdatanode: s1.hadoop s2.hadoop s3.hadoop(看不明白这5台虚拟机的请看前面 01前期准备 )解压配置文件[hadoopnn1 hadoop_base_op]$ ./ssh_all.sh mv /usr/local/hadoop/etc/hadoop /usr/l…

使用双异步后,从 191s 优化到 2s

目录 一、一般我会这样做:操作起来,如果文件比较多,数据量都很大的时候,会非常慢。 二、谁写的?拖出去,斩了!优化1:先查询全部数据,缓存到map中,插入前再进行…

java xxe漏洞利用_【技术分享】XXE漏洞攻防之我见

作者:激越王预估稿费:400RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿你是否听说过xml注入攻击呢,或者对它只知其一不知其二呢?现在让我们从xml相关基础知识开始,一步步了解xml攻…

线谱法 时钟分量的提取 matlab,LMD局域均值分解的matlab程序及示例

说明:研究LMD局域均值分解有3个月左右,能找到的相关文章也基本上看了一遍,觉得是个很好的方法,号称是EMD经验模态分解的改进版。但是网络上一直没有找到该算法的matlab程序,只见文章说的天花乱坠。后来自己写了一个&am…

php csrf攻击 xss区别,XSS与CSRF攻击及防御方法

前言web安全这词可能对于服务端工程师来说更加“眼熟”,部分前端工程师并不是十分了解,今天就来讲讲XSS攻击与CSRF攻击及防御方法XSSXSS (Cross Site Scripting),即跨站脚本攻击,是一种常见于 Web 应用中的计算机安全漏洞。大部分…

matlab各个指令的含义,[MATLAB基础] 求解这段指令的意思,越详细越好,谢谢啦

求解这段指令的意思,越详细越好,谢谢啦 function [Kp,T2]KPCA(ax,ay)[Nx]size(ax);mean_X mean(ax);axbax;std_Xstd(ax);axax-mean_X(ones(Nx,1),:);std_X(find(std_X0))1;%数据预处理axax./std_X(ones(Nx,1),:);c10000;% gama0.05;% ni1;% F1ax(1,:);% …

php+js实现弹幕,jquery.barrager.js-专业的网页弹幕插件

jquery.barrager.js是一款专业的网页弹幕插件。它支持显示图片,文字以及超链接。支持自定义弹幕的速度、高度、颜色、数量等。能轻松集成到论坛,博客等网站中。由于IE9以下的IE浏览器不兼容CSS圆角,采用兼容样式,可单独设置弹幕的颜色,属性为old_ie_color,建议不要与网页主背景…

zend studio php 5.5,Zend Studio使用教程:在Zend Studio中调试PHP(5/5)

本教程将教会您如何调试文件和应用程序以便从您的PHP代码中获取最大的效率和准确性。Zend Studio的调试功能可以检查并诊断PHP代码在本地或远程服务器上的错误。调试器允许您通过设置断点、暂停启动的程序、单步调试代码和检查变量的内容来控制程序的执行。调试应该在您的脚本和…

oracle 安装乱码,linux安装Oracle中文乱码问题汇总

解决oracle中文显示乱码有三层地方需要调整或者修改第一层:操作系统层1.首先查看linux是否有安装中文字符集,locale -a2.设置用户的中文字符集查看到linux安装了中文字符集,那么oracle用户下面要设置中文字符集vi /etc/locale.conf # centos7…

php 路径有汉字,路径文字工具

大家可能会在视频上面看到一些不规则的字幕吧,比如:圆形、椭圆、波浪形等等,这些也叫做路径文字,就是在给视频添加字幕的时候,让文字按着自己描绘的路径来排列,这样就得到了路径文字。原理很简单&#xff0…

qq linux版本下载官网下载,腾讯QQ For Linux

安装帮助如何选择安装包?Linux QQ 目前支持x64(x86_64、amd64)、arm64(aarch64)、mips64(mips64el)三种架构,每种架构支持Debian系、红帽系、Arch Linux系、其它发行版中的一种或几种(未来可能继续扩充)。每一次发布均会提供架构和发行版的若干种组合支持…

linux ip隧道技术,linux之IP隧道配置

本文系统Centos6.0在这里我就不讲什么隧道、IP隧道技术了;lvs的三种模式也不说了我这里隧道说白了就是不同机房,不同公网IP,怎么让他们实现局域网的效果,配置同一网段的私网IP;可以实现互联互通;写这篇文章…

kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86

现在,大多数Linux用户非常熟悉Conky包括多少人都没有今天我们Note:其中一些不仅仅是一个习惯。conkyrc文件。许多都配有专门的字体或附加软件,有些则作为更大的桌面主题的一部分打包。此处列出的所有配置都提供了到原始下载位置以及每个包的链接此外&…

sd卡linux错误检测,android系统正在准备SD卡正在检测是否有错误且SD卡无法读取解决办法...

手机android系统,也许您会碰到这样的情况。错误提示:正在准备SD卡 正在检测是否有错误。这时sd卡(即内存卡)不能正常使用,不管手机自带的程序,还是通过usb口连接到电脑都无法识别sd卡。这可能是由于没有正常卸载sd卡导致的原因。比…

C语言顺序结构程序设计PPT,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计.pdf...

[摘要]第3章 顺序结构程序设计 第3章 顺序结构程序设计 当你对C语言程序设计有了一定了解和掌握后, 在处理一些简单的任务时,若想根据程序书写的过程 顺序执行程序,这时应该如何处理呢? •顺序结构 •顺序结构 程序的三种结构 程序…

three.js使用精灵模型Sprite渲染森林

效果&#xff1a; 源码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div class"box-right&quo…