概述

突发奇想想在自己家里搭一个服务器啥的,应该会很好玩。但是买一个服务器也不太现实,本身没啥硬性需求,况且家里放一个服务器,扰民还费电。退而求其次就买了一个树莓派。

最新版的Raspberry PI 3 Model B加上一些配件一共300来块。配置的话,4核ARM的CPU,1G的内存。这样的配置,就是玩玩了。

rp

初始化的东西

树莓派到手之后,还是挺开心的。一个小板子,集成了所有的必要的东西。忍不住想快点尝试下了。首先的初始化过程就是

  1. 安装系统
  2. 配置网络

安装系统

系统安装的话,比较简单。在官网下载系统镜像,用镜像工具写入到TF卡即可。

我使用的是Raspbian Lite系统,不带图形界面。用的官方推荐的mac烧录工具Etcher烧录的。写好系统之后,在根目录新建一个ssh文件。这样就可以开启ssh访问,否则连接会被拒绝。

这里有个小插曲,树莓派使用的TF卡,买的时候配件的TF卡不带SD转化卡。所以需要一个读卡器。这年头谁还用读卡器,找了一圈都没找到,最后又在京东买了一个。

配置网络

系统安装之后,就是连接网络。找根网线连接路由器就OK了。然后到路由器管理界面,找到树莓派的IP地址。之后,就可以使用ssh连接测试了

ssh pi@192.168.1.104

树莓派默认的用户名是pi,密码是raspberry,主机名是raspberrypi

因为我家的房间没有有线,所以还得配置树莓派使用wifi连接方式。执行如下命令扫描wifi列表

iwlist wlan0 scan

注意ESSIDIE: IEEE字段。前面是wifi名,后面是加密方式等啥的。然后,将wifi连接信息保存到文件中,下次就会自动连接了

vim /etc/wpa_supplicant/wpa_supplicant.conf

# 将下面的内容加入到文件最后,用空行和上面的内容分开
network {
    ssid="ziroom"
    psk="wifi_passwd"
}

一切OK的话,网络连接部分就配置好了。

Nginx

按照上面的过程配置好了之后,就可以跑各种服务了。首先,当然是跑一个Nginx看看效果了。

sudo apt-get update
sudo apt-get install nginx

浏览器打开树莓派的IP地址192.168.1.106,如果看到”welcome nginx !”,那就表明Nginx运行OK了。

跑一个Nginx很简单。这时候,我们的树莓派还是运行在局域网里面的。也就是只能在局域网通过IP地址访问。那离开家了,就没办法访问上面的服务了。

如果你的宽带运营商提供了公网IP地址。那就很方便了。

这里,根据路由器提供的功能,我们可以很简单的将公网IP映射到树莓派上。首先进行IP和MAC地址绑定,这里防止树莓派IP变化

rp

之后,利用DMZ功能,将公网IP绑定到树莓派上

rp

操作之后,浏览器打开公网IP。如果访问到”welcome nginx !”,表明配置成功。这也意味着,树莓派近似于一台小服务器了。后面就可以通过域名解析,通过域名访问到我的树莓派上的服务了。

内网穿透

上面介绍了,如果有公网IP的情况下,怎么配置访问。但是,大多数时候运营商并不会给你分配公网IP,毕竟现在IPv4的地址很紧张。运营商给你分配的可能是一个内网地址,也就是在另一个大局域网里面的IP地址。如果你的地址在如下范围,则表明你被分配了内网地址

A类:10.0.0.0 ~ 10.255.255.255

B类:172.16.0.0 ~ 172.131.255.255

C类:192.168.0.0 ~ 192.168.255.255

这个时候,要想外界能够访问到树莓派,就需要使用到内网穿透了。这里介绍了使用FRP搭建内网穿透的过程。

跑一个私有云盘

家庭服务器最基础的需求就是存储了。在树莓派上部署一个简单的云储存系统,可以将自己的资料存放在自己的设备上。还是挺有意思的。私有云,这方面的软件还是挺多的,自己了解到的有seafilenextcloudowncloud。其中nextcloudowncloud关系很有趣,产品也特别相似,感兴趣的可以去查一下了解下。我最后选择的是nextcloud。这个是基于PHP和Mysql,这个自己就比较熟悉了。

安装PHP和MySQL就不赘述了。

安装好了nextcloud之后,登录后效果是这样的

rp

真好。

最后

折腾之后,越发觉得以后要是有条件了,一定要在家里部署一个服务器。

rp