一鹏 发表于 2022-1-27 21:40:17

活字格linux双服务器共享附件方法

我不知道在这里发贴对不对,不过好像也没有啥好地方了
之前我发过一个求助的帖子,最后也没有很好的解决办法,于是我研究了几天之后,找了各种资料,终于有一个方案测试成功了
在这里分享给大家
这是我之前的求助需求 Linux共享两个服务器的附件 - 活字格专区 - 求助中心 - 葡萄城产品技术社区 (grapecity.com.cn)
测试环境如下:
操作系统:
ubuntu20.04IP 192.168.0.97 数据库 mysql8 共享软件samba失败,但仍然保留,因为要用于其它文件服务存储,nfs-kernel-server
ubuntu18.04IP 192.168.0.91 活字格7.0.103外联数据库到mysql8,附件我也想保存到97服务器上,因为那个服务器有足够大的空间,足够安全的raid磁盘阵列

下面开始操作
在192.168.0.97上安装软件
sudo apt install nfs-kernel-server -y
安装结束后,编辑 /etc/exports 文件,在文件末尾添加一行:
#输入下边代码回车
vim /etc/exports
#出现的界面中按 "i"
说一下,/opt/Upload 是97服务器上保存附件的文件夹,我要共享的也是这个文件夹,然后是共享给192.168.0.91,后边的参数按我这个填就行了,读写权限
然后按"esc" 就是键盘左上角的键,再输入英文的冒号":wq",然后就保存退出了

再就是启动服务了,启动后可以查看共享:
service nfs-kernel-server restart
#查看共享命令
showmount -e
上图显示已经共享成功,下面到91服务器操作了:
安装软件:
sudo apt install nfs-common安装后设置共享 ,因为我这里已经挂载成功了,所以的卸载后再重新挂载
#卸载命令umount 目录
umount /opt/Upload

#创建本地目录
挂载中,然后,挂载失败了,提示意思是超时了,没连接上,我之前测试没用这个服务器,然后,去服务器上看看防火墙

好吧,防火墙开着呢,由于我也不知道这软件用的哪个端口,所以也没办直接开,于是查看一下
netstat -anlpto
发现有个软件rpc.mountd在监听55885和59021,这个软件是之前没有的而且还带个mountd,这不是和我们那个挂载命令很像么?mount
于是我试试关闭防97服务器的火墙再重新到91服务器上挂载
#关闭97服务器的防火墙



瞬间就挂载完成了,查看挂载文件夹中的内容
ls /opt/Upload成功,查看到了里边的文件

再测试一下能不能写入
#创建个文件夹看看能不能行
mkdir zzzz成功创建了文件夹,哈哈

然后再到97服务器上看看,有没有这个文件夹,哈哈,果然存在了

到这里,终于可以操作活字格了,进入控制台,应用名-高级,输入本地路径:"/opt/Upload"

保存,提示重启,确定

成功后进入应用,打开一个附件

哈哈哈哈,研究这么多天,终于解决了,可以查看附件了
当然了,写到这里,其实还没有结束,为啥呢,因为
一,91服务器如果重启了,那这个/opt/Upload目录就变成了一个空目录了,里边啥也没有了,所以得开机自动挂载这个共享
二,97服务器如果重启,共享服务应该也没了,需要设置开机自动启动
三,97服务器上的防火墙还关着呢,如果不开防火墙,好像不太行
不过,今天就先写到这里吧,之后 我再把这三个问题解决,除了防火墙还没想好怎么解决,另外两个很容易处理
不好解决的原因是,看那个软件的监听端口,像是随机的呢,好像不是开了那个端口就行的.
当然了,如果那个端口是固定的,那简直就太好了,防火墙放行这个街口给91服务器就行了

一鹏 发表于 2022-2-1 19:41:57

本帖最后由 一鹏 于 2022-2-1 19:43 编辑

今晚没什么事了,自己呆着,把上次没做完的继续做好,下边是上次遗留的问题:
一,91服务器如果重启了,那这个/opt/Upload目录就变成了一个空目录了,里边啥也没有了,所以得开机自动挂载这个共享
二,97服务器如果重启,共享服务应该也没了,需要设置开机自动启动
三,97服务器上的防火墙还关着呢,如果不开防火墙,好像不太行


先解决一,给91服务器设置重启后自动挂载97服务器的共享目录,挂载到本地之后,就当做本地目录使用了
开始自动挂载的内容是在/etc/fstab中,注意,此文件如果改坏了,可能会导致机器无法开机,所以我就不教手动编辑了,直接使用命令添加一行进去
echo '192.168.0.97:/opt/Upload /opt/Upload nfs defaults 0 0' >> /etc/fstab运行完成之后,查看一下是否添加成功
cat /etc/fstab显示如下内容就是成功添加了

然后执行挂载命令,重新挂载所有硬盘和共享,这样就不用重新开机了,当然了,为了保险起见,你也可以重新启动你的机器,测试一下是否能成功的开机自动挂载共享目录
mount -a

这里详细解释一下,192.168.0.97:/opt/Upload 这是机器的共享目录,格式是 "IP:/目录",注意一下,目录名是区分大小写的,我共享的是97服务器的/opt/Upload文件夹,这里把ip和目录改成自己的就行,后边跟一个空格,然后是/opt/Upload ,这是91服务器上的本地目录,也改成你实际要使用的目录,没有的目录可以新建,但必须是空目录,里边什么文件也不能有,其它的照样子复制就行了,然后就是查看一下,是否进去了,如果进去了,再执行mount -a重新挂载/etc/fstab中所有的内容,执行后没什么变化,就说明没有错误,否则可能会报错,另外就是这些命令,必须是英文状态字母和符号,别用中文输入法输入命令,否则可能报错都不知道差哪了
下一步查看一下挂载到本地的目录中是否有远程文件
ls /opt/Upload


文件存在,说明挂载成功,如果要测试开机是否挂载了,可以使用下边的命令重新启动机器,注意安全,如果是生产环境的服务器,要慎重重新启动,重新启动可能要好几分钟
reboot至此,问题一得到解决

下边来看看问题二
先查看运行状态,在97服务器上使用root用户执行下边命令
service nfs-kernel-server status
显示运行中,并且运行了4天了,我的机器上第二个红框中显示disable,这意思就是开机没有自动启动,如果你的这里显示enable那就略过问题二,已经可以开机自动启动了
如果是disable,那么执行下边命令:
systemctl enable nfs-kernel-server
执行成功后再查看
service nfs-kernel-server status
开机启动设置成功!问题二解决

最后看问题三,问题三是防火墙设置,我机器上的软件是ufw,这个防火墙特别简单易用,我很喜欢,所以我安装了这个防火墙
开始的时候我想的复杂了,觉得吧应该是开放某个端口,但后来一想,我直接把91的所有访问都允许了不就行了吗?于是测试命令
#先启动防火墙
显示已经允许成功,到91服务器上运行一下命令,查看共享文件在不在
ls /opt/Upload

成功,至此,所有问题得到解决,不过,看到网上资料说,如果服务器重启了,会导致客户端df -h命令卡死,因为找不到服务器了嘛,我测试一下看看
先停止服务端,我就不重启或者关机了,直接停止服务端也是一样的
#关闭服务端软件显示已经关闭了

再到91服务器查看共享文件是否还在
ls /opt/Upload果然卡住了


再到97服务器上运行命令,开启服务端,并查看运行状态
systemctl start nfs-kernel-server



先看看ubuntu开机自动启动的命令在哪设置,百度搜"ubuntu18开始自动运行",18和20的设置方法是一样的
#切换到root用户,输入密码后,用户名变成root,已经是root用户就不用了


运行起来了,然后,91服务器那边的共享文件就显示出来了,结束卡机状态

所以这个也是正常的,如果客户端卡住了,那就去看看服务端有没有启动,如果启动 了,看看防火墙有没有禁止,必要时,关闭服务端防火墙试试
好啦,写到这里也就结束了,目前运行好几天了还没遇到啥问题,速度也是和本地没区别的,毕竟是千兆网络
如果有谁没配置明白的话,可以联系我,咱们一起研究研究,我QQ68538501,发邮件或者加微信联系我都成

吴小胖 发表于 2022-1-27 21:47:03

学习一下,感谢楼主~~~大佬,辛苦了~:lol

Aa金砂 发表于 2022-2-11 20:48:17

擂主讲的太深了

杜清松-808916 发表于 2024-4-3 17:30:47

一鹏 发表于 2022-2-1 19:41
今晚没什么事了,自己呆着,把上次没做完的继续做好,下边是上次遗留的问题:
一,91服务器如果重启了,那这个/o ...

楼主负载均衡不能直接用云存储吗?
页: [1]
查看完整版本: 活字格linux双服务器共享附件方法