树莓派搭建LAMP和FTP服务器
前言
不久前,从网上购买了一个树莓派3B+,原计划刷入openwrt作路由器使用的,但遇到了问题,原因在于截至2019年2月16日,是没有支持树莓派3B+版本的openwrt固件的,树莓派3B(没有+)到是支持。做不了openwrt路由也不能浪费几百块大洋吧,所以就打算用来作LAMP服务器,搭建一个网站,功耗5W左右,自带WIFI,供电后就可以24小时运行。
搭建网站需要解决的问题
使用树莓派3B+搭建LAMP服务器和部署网站,首先要考虑需不需要让外网访问以及网站如何部署等问题,解决了这些问题才能进行更深入的开展部署工作。
如何使外网能够访问网站
因为我不像搭建的网站只有局域网浏览,还想更多的外网用户能够访问网站内容,所以我搭建的网站必须能够对外提供服务。对于家庭网络,FRP内网穿透是使用较多的方案,此外还有花生壳、Nat123等,其中FRP内网穿透比较吃技术能力,而花生壳和Nat123虽然较傻瓜式部署,但价格昂贵。
经过再三考虑,以上方案我都没有采用。不进行内网穿透的话,对于家庭宽带用户,只能申请公网IP地址,经过网上搜索家庭宽带如何申请公网IP后,发现了只要拨打运营商客户电话申请开通就可以了。通过电话申请,2天后,运营商把我家庭宽带从局域网IP调整成了公网IP地址。
得到了公网IP地址,但公网的80和8080这两个百度、谷歌搜录的网站端口,均被运营商屏蔽了。为了使百度、谷歌能够搜录网站,对外暴露的端口只能是80端口和8080端口。然后我决定再购买一个便宜的VPS服务器(配置要求不用太高,但网络流量和转发能力必须稳定),通过nginx反向代理的方法,外网访问nginx代理服务器,nginx通过反向代理,将请求转向树莓派3B+,其中nginx代理服务器开放80端口,树莓派3B+开放非80端口,如1990端口。这样,既省钱又能发挥树莓派3B+最大使用率。当然,路由器应该配置好端口转发。
如何部署网站
部署网站,可以采用SMB文件夹共享、FTP上传、宝塔BT文件管理等方法进行网站部署。其中宝塔BT文件管理最为简单易容,且安全性、稳定性较高,但遗憾的是,宝塔BT仅支持X64架构的CPU或系统,而树莓派3B+采用的ARM架构的CPU,且安装的raspbian操作系统不支持X86架构的程序,所以只能放弃采用宝塔BT管理文件。而SMB文件夹共享方法时,windows和linux之间的传输速度实在太慢,最后采用了FTP的方式上传部署网站。
如何让动态IP绑定域名
家庭网络环境下通常会有路由器作为网络的出口,一些较新的智能路由器都会有一项叫做DDNS(即动态DNS)的功能,但通常支持的DDNS服务商较少,常见支持的有花生壳、NoIP等,当然,价格不是太贵,就是使用不方便(如每个月要签到等)。所以,我这里不使用路由器提供的DDNS功能,但为了能够使树莓派3B+能够自动把动态IP自动更新绑定域名,所以我找了一个可以通过HTTP协议更新动态IP的DDNS服务商,www.pubyun.com,在这里推荐的原因是使用非常方便,不需要安装第三方软件,只需通过crontab定时执行curl命令访问pubyun提供的一个HTTP接口即可动态更新IP到指定的域名,pubyun的官方文档提供了详细的使用说明和参数配置,非常方便。
树莓派3B+能否搭建网站的同时搭建CS服务器
答案是可以,但只有一种可能,就是花钱买一款叫做exagear desktop的虚拟机,能够使树莓派3B+(arm架构)运行x86软件(steamcmd和cs服务器程序都是x86架构的程序),当然还有qeum、wine等其他方法,但性能只有exagear desktop能达到搭建服务器的要求。exagear