利用树莓派搭建简易服务器

读研以来笔者一直负责实验室的网络维护,可以说是实验室名副其实的首席大网管。整个实验室是从学校网络中心购买了一个教育网的公网IP地址和带宽,公网IP绑定了实验室的主路由器,而主路由器就在笔者卡位的旁边。有一天笔者突发奇想,拿了手头的树莓派3结合主路由器搭建了一个稳定的服务器,效果还不错,把搭建方法和过程和大家分享一下。
笔者利用树莓派搭建的服务器目前只同时具有3个功能:

  • 第一个功能是作为git服务器,托管本组的project代码,这样也在github上面省了一个私有仓库;
  • 第二个功能是作为一个远程视频监控的服务器,利用之前文章里面介绍的关于mjpg-streamer的用法,在树莓派3上安装了一个USB的webcam,做远程视频监控;
  • 第三个功能是作为一个网页游戏的服务器,笔者在研一上学期多媒体技术的课程中做了一个以母校中山大学为背景的网页小游戏,这一次直接把游戏挂在服务器上面,可以让其他人也玩玩看啦。

1. 用到设备

  • 树莓派3以及配套风扇;
  • 任意一款USB webcam网络摄像头,插在树莓派上面免驱使用;

树莓派3烧录pi专用的raspbian系统,之后风扇按照电路图(如下图所示),接5V和GND,这样树莓派通电开机风扇开始工作。
利用树莓派搭建简易服务器_第1张图片

2. git服务器的配置

树莓派上面git服务器端执行:

sudo apt-get install wget git-core
sudo apt-get install ssh
sudo mkdir git #创建一个文件夹存放git服务器的文件
cd /home/git
mkdir test.git #仓库名字
cd test.git
git --bare init #初始化仓库

利用树莓派搭建简易服务器_第2张图片

自己电脑的客户端git bash

git add .
git commit -m "test"

#xxx.xxx.xxx.xxx是树莓派服务器的IP地址,服务器应当是有端口号的,git用的是22号,这里我们稍后需要在主路由器里面做端口映射
git push ssh://xxx.xxx.xxx.xxx/~/test.git
git clone ssh://xxx.xxx.xxx.xxx/~/test.git

3. 远程视频监控服务器的配置

配置细节可以参考本博客的《树莓派安装MJPG-streamer过程》,这里不过多重复讲解,因为本文用到的是Webcam所以省去很多麻烦。配置好之后,我们使用树莓派的8888端口作为该视频服务器的端口号。
所以如果搭配成功,并且成功启动,在同一网段下,浏览器输入xxx.xxx.xxx.xxx:8888应该就可以看到监控画面。
利用树莓派搭建简易服务器_第3张图片

4. 网页服务器的配置

本文使用的网页服务器解决方案是:树莓派上搭建LNMPWeb服务器。修改Ngnix配置文件(/etc/nginx/sites-available/default),使得可解析PHP文件。

sudo apt-get update  && sudo apt-get upgrade
sudo apt-get install nginx
sudo /etc/init.d/nginx restart

接着把要运行的网页游戏放在ngnix的目录下,首先需要修改ngnix的配置:

sudo vi /etc/nginx/sites-available/default

利用树莓派搭建简易服务器_第4张图片
画黄线的是该服务器占用的树莓派端口号和文件存放路径,将文件存放至该路径下。开启服务器之后,在同一网段浏览器输入:XXX.XXX.XXX.XXX:8080就可以看到游戏界面。
利用树莓派搭建简易服务器_第5张图片

5. 主路由器配置

笔者实验室的是Netgear路由器,连接上该路由器之后(无线或者有线均可),输入管理员用户名和密码即可进入管理界面(最好修改默认的用户名和密码,安全起见)之前实验室不知道是谁恶作剧修改了管理员密码,导致笔者不得不重新配置路由器。
进入之后选择端口映射的功能,并找到树莓派的IP地址,将其固定为192.168.1.15(大家根据自己路由器实际情况设定即可),然后做端口映射,尽量选择一些不常用的端口。

  • 将192.168.1.15的22端口映射为路由器的6666端口,给git服务器用;
  • 将192.168.1.15的8888端口映射为路由器的7000端口,给远程监控服务器用;
  • 将192.168.1.15的8080端口映射为路由器的9400端口,给网页服务器用;

启用之后,假设路由器IP为XXX.XXX.XXX.XXX,那么在外网环境下在浏览器输入:

  • XXX.XXX.XXX.XXXX.7000即可访问远程监控服务器;
  • XXX.XXX.XXX.XXXX.9400即可访问游戏网页服务器;

使用putty输入XXX.XXX.XXX.XXXX:6666即可ssh到树莓派里面;

使用git bash输入:
- git push ssh://XXX.XXX.XXX.XXXX:6666/~/test.git
- git clone ssh://XXX.XXX.XXX.XXXX:6666/~/test.git

当然别忘了服务器别断网断电,使用之前,开启所有服务器功能:

sudo /etc/init.d/nginx restart &
sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25" -o "./output_http.so -w ./www -p 8888" &

6.参考文献

1.用树莓派搭建GIt私有服务器

2.树莓派安装MJPG-streamer过程

3.树莓派搭建Web服务器(LMNP)

你可能感兴趣的:(嵌入式开发)