利用树莓派搭建公网可访问web服务器Nginx

摘要

  购买了Raspberry Pi 3 Model B 之后,就一直想将小派亲手打造成公网服务器。本来想实验室会给弄一个服务器,毕竟研究方向是云计算和机器学习,结果发现自己想多了,还是用小派自己搭一个玩玩好了。还是那句话,自己动手丰衣足食!不bb,下面请看步骤:

一、在树莓派上搭建web服务器

  树莓派本身的性能和内存都有限,所以选择轻量级高性能的服务器框架和数据库Nginx、sqlite、php。这三个家伙的具体知识可以在网上找到,这里不再多言,只说安装:

1、安装Nginx

sudo apt-get install nginx

2、启动Nginx

sudo /etc/init.d/nginx start

3、安装php和sqlite

sudo apt-get install php5-fpm php5-sqlite

4、修改nginx配置文件(使得nginx监听上面设定的8888端口)

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

直接修改以下内容:

(1)listen行:修改两处的监听端口

这里写图片描述

(2)index行:增加index index.php index.html index.htm

利用树莓派搭建公网可访问web服务器Nginx_第1张图片

(3)php的定义段:修改后内容如下:

location ~ .php$ {
  fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
  include fastcgi_params;
} 如下图:
利用树莓派搭建公网可访问web服务器Nginx_第2张图片

(4)重新加载

sudo /etc/init.d/nginx reload
(关于Nginx更多的使用信息最好直接在Nginx官网查看相关Documentation. Nginx Documentation)

5、测试安装是否成功。

  将树莓派的ip地址设为静态ip(我的是192.168.1.121),先从内网测试是否安装成功,在同一个局域网的机子上的浏览器上访问 192.168.121:8888。如果出现下图则说明nginx安装成功;
这里写图片描述
  然后在树莓派中生成一个php文件,测试php:
sudo nano /usr/share/nginx/www/test.php
输入
Ctrl +x 保存退出,再访问一次。

二、外网访问内网Nginx服务器

1、花生壳

  首先,要打造成公网服务器,就得有公网的域名,听说很多地方都可以申请到,但是我还是傻傻的得到花生壳官网花了6块钱申请了一个域名(带内网穿透,可以映射两个端口),还有一个原因,我的实验室是校园网的二级路由器,而且后面会提到的动态dns只支持花生壳的。上图秒懂:
这里写图片描述
  外网的端口是随意分配的,内网端口自己设定,我设定为8888

2、设置本地路由器

  实验室上用的路由器是TP-LINK,申请了花生壳的免费域名只是获取了权限,但是真正实现打通这个外网访问内网的功能则要设置路由器的DDNS(动态DNS)服务。当然了这需要路由器管理员密码才能在192.168.1.1上登录配置,没有密码的,呵呵,不用往下看了;在DDNS登录上在花生壳官网注册的账号,这时候路由器自动获取免费域名并显示,同时我估计也能接收到上图的映射信息;
利用树莓派搭建公网可访问web服务器Nginx_第3张图片
  同时,我怕会出问题,不仅仅在树莓派上bind静态IP,还在路由器上配置了静态IP。

  现在,基本上你可以使用1中外网的访问地址来访问Ngnix服务器了。和在第一步中的测试结果一样。我大概是参考了这篇博客http://blog.csdn.net/bwael/article/details/50636501,这里也感谢这位博主的分享!后边我想将树莓派上的文件都共享到Nginx服务器上,这样也好实现远程操控,大家提提意见!

你可能感兴趣的:(树莓派3)