树莓派搭建nginx Web服务器,实现内网访问

最近一直在思考怎么让沉睡这么久的树莓派重新找点事情做,也其实是刚好自己在学习一些新的知识,刚好需要在内网搭建一个Web服务器做测试,最初的设想是用我的笔记本,但是发现也用不了太高的性能,只是简单部署一些渲染好的静态页面,于是想起了我那积灰又很久的树莓派来了总放着也不是那么一回事,必须要拿出来重新上电一番了。最近也是有够懒的,已经有整整两个月没有更新文章了,实在是搞硬件的也没那么多东西可以很简单的分享啊,其实最重要的原因还是自己的积累还不够啊倒是八月底公司安排去参加了一个ROS机器人的培训,本来是想写篇文章记录一下的,但是斟酌了很久,发现并没有学的很精通,也怕误人子弟,所以就闲话不扯了,反正这两个月就是懒
这篇文章主要讲怎么在树莓派上搭建一个小型的Web服务器,步骤很简单,想起自己这么多年瞎搞做自己的博客,真是历尽艰难险阻啊~
目前流行的开源Web服务器有很多,比如apache,tomcat,nginx等,这里就不再赘述,本文用的是nginx,另外本文并没有涉及到数据库操作等,所以也没有安装数据库的教程。常见Web服务器框架有LAMP/LNMP两种,不过都是用来搭建动态网站的推荐,所以有需要的可以自行百度学习~
竟然我们是安装nginx,那我们就有必要去了解一下它,以下文字摘录自百度百科-nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

可以看出BAT也在使用nginx。
下面开始安装,本文中的命令行都是通过SSH远程连接在PuTTy软件中使用的。
如果第一次使用树莓派,可以查看我之前的文章,教你如何“摸瞎”点亮树莓派~
相信看到这里的你也是有一定基础的~

sudo apt-get install nginx

下面我们来看一下nginx的配置文件,查看一下nginx在监听哪一个端口:

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

nginx_conf
我们只需要关注这个文件中这两个地方就好,箭头所指的是nginx监听的端口,圈出来的是我们的网页存储位置,端口号监听80就好因为在浏览器访问一个IP地址,是默认访问80端口的,如果改成别的,我们还需要在IP地址后增加端口号,显得比较麻烦。默认设置应该是一样,不需要修改。
下面启动nginx服务:

sudo /etc/init.d/nginx start

会看到打印这么一条日志,说明我们成功启动!

[ ok ] Starting nginx (via systemctl): nginx.service.

接下来我们用本地电脑浏览器访问树莓派~
nginx_welcome
可以成功访问到此页面表示一切设置都OK。
但是到这里就结束了吗?很显然没有假如我们想更换这个网页怎么办呢?在命令行中用nano一点一点改?很显然是不符合正常开发逻辑的,页面有两三个还可以,当页面变得越来越多的时候我们该怎么处理呢?当然是本地做好,然后通过FTP upload到树莓派中,就跟你在阿里云或者腾讯云买的虚拟主机一样,这台树莓派除了不能通过外网访问,别的功能一点也不少下面我们就安装一下FTP server~

sudo apt-get install vsftpd

修改配置文件:

sudo nano /etc/vsftpd.conf

vsftpd_conf
将箭头指的地方改成YES,并将#删除,然后启动vsftpd服务。

sudo /etc/init.d/vsftpd start

会看到打印这么一条日志,说明成功启动!

[ ok ] Starting vsftpd (via systemctl): vsftpd.service.

下面我们就可以在本地通过FTP客户端上传文件到树莓派了,这里我们推荐FileZilla可以点击下载,这是一个开源的FTP客户端,很好用,可以下载安装使用~
FileZilla
按照上图设置好,IP地址就是树莓派的IP地址~
对了,我们还要设置一下存放web页面文件夹的权限:

sudo chmod 777 /var/www/html

然后我们上传一个测试页面
web_page
至此,局域网内用树莓派搭建Web服务器就完成了,现在还只能在局域网内访问,不过还是可以映射到公网中去的,待我好好研究下,找个免费的方法,再跟大家分享~

下面是nginx和vsftpd常用命令:

sudo /etc/init.d/nginx {start|stop|restart|reload|force-reload|status|configtest|rotate|upgrade}
sudo /etc/init.d/vsftpd {start|stop|restart|reload|status}

怎么用,一目了然相信聪明伶俐的你一定会的

欢迎访问我的主页,我会不定期更新一些文章,也欢迎留言哦~
唯有爱与科技不可辜负

最后,发际线小哥镇楼!

![pace](https://makingfun.oss-cn-qingdao.aliyuncs.com/images%2Fweb_nginx%2Fpace.jpg)
请我喝一罐冰阔乐 (^o^)/