在树莓派上面搭建 Samba 服务
在 树莓派 3b 安装系统 中我们已经讲了如何在树莓派上面安装操作系统并且如何通过 SSH 连接到树莓派,在这篇文章中我们将介绍一下如何通过树莓派搭建一个 Samba 文件共享服务。
首先我们先在树莓派上安装 Samba 服务
sudo apt-get update
sudo apt-get install samba
之后我们在用户 pi 的 home 目录中创建一个用于共享的文件夹,并修改其权限为 777
mkdir Share
chmod 777 Share
随后我们修改 Samba 的配置文件
sudo vi /etc/samba/smb.conf
在配置文件的底部添加如下配置
[pi]
path = /home/pi/Share
public = yes
writable = yes
create mask = 0777
force create mode = 0777
directory mask = 0777
force directory mode = 0777
read only = no
browseable = yes
guest ok = yes
guest only = yes
配置文件修改并保存了之后,我们重启 Samba 服务
sudo service smbd restart
这样一个符合我们需要的 Samba 服务就启动起了。我们使用同一局域网下的一台 Windows 主机,打开它的文件资源管理器,在文件资源管理器的地址栏中输入\\192.168.0.104(该 IP 地址为树莓派的 IP 地址)并敲击回车,可以看到一个名字叫做 pi 的文件夹
我们此时在 Windows 上面对这个文件夹进行读写操作就是在对树莓派的/home/pi/Share文件夹进行读写操作,这样同一个局域网内的多台主机就可以很方便的进行数据传输了。
在 Mac 上我们也可以访问这个共享文件夹,首先我们打开 Mac 的 Finder,之后使用快捷键Command + K打开 smb 操作框,在操作框中输入smb://192.168.0.104以访问共享文件夹,其中身份我们选择Guest,之后选择pi文件夹。在经过以上的操作之后,我们就可以在 Mac 上对这个共享文件夹进行读写了。
由于树莓派本身的性能限制,我们对共享文件夹进行数据读写仅能到达 10MB/s 左右的速度,这是物理限制所导致的,唯一的解决办法就是升级树莓派的硬件。
当然,如果你想要通过 HTTP 的方式来访问这个共享文件夹,那我们还可以搭建一个静态文件服务。首先我们需要安装 Nginx
sudo apt-get install nginx
之后我们修改 Nginx 的配置文件
sudo vi /etc/nginx/sites-available/default
将文件中的所有内容都注释掉,并添加如下内容
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
root /home/pi/Share;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
add_header Cache-Control no-store;
}
}
最后我们重新加载 Nginx,使得配置文件的更新生效
sudo service nginx reload
重新加载了 Nginx 之后,我们在浏览器的地址栏中输入 http://192.168.0.104/就可以访问到这个文件夹了