本文主要是介绍服务器搭建NFS服务,将文挂载到windows,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【背景】:本地开发写代码,修改文件后需要经常重复同步,非常麻烦,于是思考搭建一个NFS服务,可以实现在windows上自由操作服务器上的代码,提高开发效率。
1.在Linux服务器上安装并配置NFS
安装NFS服务器:
sudo yum update
sudo yum install nfs-utils
systemctl start nfs-server
# 开启自启动
systemctl enable nfs-server
创建共享目录:
需要选择一个目录来共享,或者创建一个新的共享目录。假设我们要共享 /home/xjl/work:
sudo mkdir -p /home/xjl/work
设置共享权限:
确保共享目录有合适的权限。如果想让所有用户都能访问,可以修改权限:
sudo chown nobody:nobody /home/xjl/work
sudo chmod 777 /home/xjl/work
编辑NFS导出配置文件:
配置NFS将该目录作为共享资源。在文件 /etc/exports 中添加以下内容:
/home/xjl/work *(rw,sync,no_subtree_check,no_root_squash)
参数解释:
*表示允许所有IP地址访问该共享。可特定的IP地址或网段(如 192.168.1.0/24)替代。
rw 允许读写访问。
sync 保证数据立即写入磁盘。
no_subtree_check 提高效率,禁用子树检查。
no_root_squash 允许客户端以root用户身份访问文件。
保存并退出后,运行以下命令以应用更改:
sudo exportfs -ra
参数解释:
· exportfs: 这是一个用于管理NFS共享的命令。它可以用来显示当前的共享目录、添加或删除共享,以及刷新NFS导出的信息。
· -r: 这个选项表示“重新导出”。它会重新加载NFS导出配置文件 /etc/exports 中的所有导出设置。这通常在修改了 /etc/exports 文件后使用,以便应用这些更改。
· -a: 这个选项表示“所有”。它表示对所有导出进行操作。
允许防火墙通过流量:
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload
2.在Windows上挂载NFS共享
启用NFS客户端:
打开“控制面板” > “程序” > “启用或关闭Windows功能”。勾选“服务for NFS”并启用。
挂载NFS共享:
打开命令提示符或PowerShell,使用以下命令将NFS共享挂载为网络驱动器:
mount -o anon \\xx.xx.xx.xx\home\xjl\work X:
参数解释:
xx.xx.xx.xx 是Linux服务器的IP地址。
/home/xjl/work 是服务器上共享的NFS目录。
X: 是在Windows上使用的驱动器号。
-o: 这是 mount 命令的一个选项,用于指定挂载时的选项。
anon: 这个选项表示“匿名”或“无名”。它允许不提供身份验证的用户访问 NFS 共享。换句话说,使用 anon 选项时,Windows 将以匿名用户身份连接到 NFS 共享。这通常用于公共或开放的共享目录,不需要严格的身份验证。
3.验证挂载是否成功
挂载成功后,可以通过“此电脑”或资源管理器查看和访问新的网络驱动器。
【总结】:
通过nfs,解决了windows开发写代码重复上传文件到Linux服务的痛点,极其难受而且还太容易出错。使用nfs服务,可以在Linux服务器上搭建NFS并将其共享到Windows。无需使用Samba(通常基于局域网,或者通过VPN也可以实现挂在本地,但有点麻烦),NFS单独就能完成文件共享的需求,特别是在网络环境下,NFS效率较高。
这篇关于服务器搭建NFS服务,将文挂载到windows的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!