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