树莓派 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/就可以访问到这个文件夹了