您的位置:首页 > 运维架构 > 网站架构

利用简单的磁盘映射,Samba帮助网站与关关采集器分离,实现杰奇小说远程采集,弊端很多,不建议使用,建议直接利用桌面安装

2020-07-14 05:41 190 查看

提到安全性和稳定性的时候,更多的选择则是linux系统,特别是运行php程序的时候,比windows快了很多,而且对于配置没有太高需求,于是很多小说站长喜欢使用linux作为服务器系统,但是问题恰恰是关关采集器无法在linux下运行,这个给广大站长造成了很大的困扰,而且网上的教程并不见得完善,所以今天我就稍微整理一下,解决站长的这些烦恼。喜欢的记得收藏。本文由笔趣阁提供:m.mddtxt.com

目前发现了通过映射磁盘来实现远程采集的办法,这个方法有个缺点,就是如果中断的情况下,无法有效的处理,建议大数据的站还是考虑本地运行关关采集器,下面也会简单介绍下。
杰奇linux远程采集,采集器网站分离
————————————————

第一步:配置数据库远程
方法一:

mysql -uroot -p密码
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
方法二

mysql -uroot -p密码
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’WITH GRANT OPTION
完成以上操作之后,执行

mysql>FLUSH PRIVILEGES
最后退出mysql,并且重启

mysql>EXIT
service mysqld restart
第二步:安装samba
为samba打开防火墙上的相应端口,运行以下命令:

iptables -I INPUT -p tcp –dport 137 -j ACCEPT
iptables -I INPUT -p udp –dport 137 -j ACCEPT
iptables -I INPUT -p tcp –dport 138 -j ACCEPT
iptables -I INPUT -p udp –dport 138 -j ACCEPT
iptables -I INPUT -p tcp –dport 139 -j ACCEPT
iptables -I INPUT -p udp –dport 139 -j ACCEPT
iptables -I INPUT -p tcp –dport 445 -j ACCEPT
iptables -I INPUT -p udp –dport 445 -j ACCEPT
service iptables save
service iptables restart
将SELinux配置为permissive模式,运行以下命令:

setenforce 0
vi /etc/selinux/config
将上述文件中的
SELINUX=enforcing
替换为
SELINUX=permissive

安装samba服务端,运行以下命令:

yum install -y samba
配置smb.conf文件,运行以下命令:

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf
 

上述配置文件的内容如下所示:
[global]

##samba服务器的工作组为WORKGROUP
workgroup = WORKGROUP

##samba服务器的描述信息
server string = Samba Server Version %v

##samba服务器的NetBIOS名称
netbios name = CentOS.Server

##samba服务器的客户端访问日志
log file = /var/log/samba/log.%m

##日志的最大尺寸为50 KB
max log size = 50

##使用tdbsam存储用户信息
passdb backend = tdbsam

##使用用户验证的方式确保安全性
security = user

##映射匿名用户访问
map to guest = bad user
guest account = nobody

[homes]

##共享目录说明
comment = Home Directories

##有效用户,此目录在/home目录中
valid users = %S

##在Windows的网络共享中看不到此目录
browseable = No

##此目录可写
writable = Yes

[private]

##共享目录说明
comment = Demo Directory

##共享目录路径
path = /samba/private

##有效用户
valid users = @user1

##在Windows的网络共享中能够看到此目录
browseable = Yes

##此目录不能匿名公开访问
public = No

##此目录可写
writable = Yes

[public]

##共享目录说明
comment = Public Stuff

#共享目录路径
path = /samba/public

##在Windows的网络共享中能够看到此目录
browseable = Yes

##此目录可以公开匿名访问
public = Yes

此目录可写 writable = Yes
 

在系统中建立两个用户组和用户,分别是user1和user2,运行以下命令:

groupadd user1
useradd -g user1 user1
passwd user1
groupadd user2
useradd -g user2 user2
passwd user2
注意:user1和user2的密码都为password。

在samba服务端建立两个用户,运行以下命令:

smbpasswd -a user1
smbpasswd -a user2

注意:user1和user2的samba访问密码都为password。

建立相应的目录,并且设置访问权限,运行以下命令:

mkdir -p /samba/public
mkdir -p /samba/private
chmod -R 777 /samba

配置和启动samba服务,运行以下命令:

chkconfig smb on
chkconfig nmb on
service smb start
service nmb start

通过上述步骤的配置,在客户端便能访问共享目录了。user1和user2都能够访问public目录,具有读写权限;只有user1能够访问private目录,具有读写权限;user1和user2的个人目录不可见,只能通过url进行访问,各自都具有读写权限。

这里我们用演示:笔趣阁  www.mddtxt.com和m.mddtxt.com

安装samba客户端,运行以下命令:

yum install -y samba-client

连接服务端上的共享目录,运行以下命令:

连接公开目录
smbclient //192.168.4.211/public -U user1

连接个人目录
smbclient //192.168.4.211/user1 -U user1

若登录成功,Shell命令就会变为这样的提示符:

smb: \>

使用完之后,断开连接,在samba命令行中运行以下命令:

quit

通过上述3个步骤,samba客户端便能够使用samba共享了。

 

手动挂载samba共享目录

挂载user1的个人目录至samba客户端的/samba目录下,运行以下命令:

mkdir -p /samba
mount -t cifs //192.168.4.211/user1 /samba -o user=user1,password=password,workgroup=WORKGROUP

个人目录用完之后,卸载挂载,运行以下命令:

umount /samba

开机自动挂载samba共享目录

向fstab文件中添加共享目录的挂载条目,即可实现开机自动挂载,但是随后与samba服务端的连接将始终处于活动状态。运行以下命令:

mkdir /samba
vi /etc/fstab

在上述文件末尾加入共享目录的挂载条目,如下所示:

//192.168.4.211/user1 /samba cifs defaults,username=user1,password=password 0 0

其中,第5个字段设置为0表示共享目录的文件系统不需要使用dump命令进行转储,第6个字段设置为0表示共享目录的文件系统不需要使用fsck命令进行检查。

除此之外,还可以使用自动挂载器(autofs)实现按需自动挂载网络共享目录。当共享不再使用,并处于不活动状态一定时间之后,自动挂载器会对共享解除挂载。

按需自动挂载samba共享目录

修改不活动状态的超时时间,运行以下命令:

vi /etc/sysconfig/autofs

将上述文件中的
TIMEOUT=300
替换为
TIMEOUT=600
也就是将不活动状态的超时时间由5分钟修改为10分钟。

建立共享目录挂载点的父目录,运行以下命令:

mkdir -p /samba

配置共享目录挂载点的父目录,运行以下命令:

vi /etc/auto.master

在上述文件的最后新增一行,如下所示:

/samba /etc/auto.samba

其中,/samba是挂载点的父目录,这个目录在系统中始终可见,并由autofs服务监控,以确定是否“需要”挂载/创建子目录挂载点。/etc/auto.samba为单个配置文件,包含由autofs服务在此父目录下管理的子目录挂载点的列表。

配置共享目录挂载点目录,运行以下命令:

vi /etc/auto.samba

上述文件的内容如下所示:

user1 -fstype=cifs,username=user1,password=password ://192.168.4.211/user1

其中,user1为子目录挂载点,此目录通常不可见,只有当autofs服务创建此目录和挂载共享之后对其进行直接命名/访问时,它才会变为可见。

重新启动autofs服务,运行以下命令:

service autofs restart

访问网络共享目录,运行以下命令:

cd /samba/user1

运行上述命令之后,autofs将自动创建挂载点目录,并且挂载共享目录。

卸载网络共享目录,详情如下所示:

在/samba/user1之下的所有文件和目录停止使用且超时期满之后(10分钟),autofs将卸载共享目录。

第三步:
打开关关采集器,在设置 – 系统设置中
本地网站目录填写samba共享的地址,共享的自然是网站目录
在数据库连接字符串中填写远程连接地址
就可以愉快的采集了!

不过这个方法用过的人都知道,上面提到,一旦网络中断,会造成很可怕的影响,硬盘链接不上了,采集器无法入库,也无法响应了。那么还有一个选择,就是直接在linux图形界面下运行关关采集器。不建议新手操作,因为技术点太多。

简单一句话概括就是:装桌面环境,装wine,安装NET2就能用关关!

利用宝塔就可以实现这点。有版本限制,最好选择高版本。本文由笔趣阁提供,转载请注明。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐