NanoPiNEO安装Nginx网站WEB服务详解

学习过网络编程或网站建设的人肯定都知道LNMP(Linux+Nginx+Mysql+PHP)因为它一直是Linux环境下WEB网站的经典环境。从小型的个人博客网站到世界级的脸书网站都可以看到这个LNMP的踪影,那么这次我们就要在嵌入式上面也安装这么一个环境。 首先NanoPi NEO原生就是为LINUX系统而开发的所以系统方面不用担心。至于NGINX和PHP在WEB网站用户访问量不超过1000次并发访问的话我相信NanoPi NEO还是能扛得住的。 但是这里因为考虑到NanoPi NEO这款嵌入式产品其内存限制所以不推荐使用MYSQL这种重型的数据库, 而是采用嵌入式设备中非常通用的Sqlite数据库,虽然这数据库小单是处理100万条数据量还是不输于MYSQL这种重型数据库的。

可能有人会问,搭建一个这么小的网站有什么用?我可以很负责任的告诉大家,这些都值BS软件框架的基础。 基于这个NanoPiNEO的LNMP环境你可以把它变成家有私有云盘,编程人员的PHP开发环境,电影在线播放源,离线下载服务器等你能想到或想不到的各种家庭级的应用。 这样你就不用整天24小时开个百多瓦的电脑,而只需要一个小小的2瓦NanoPi NEO板子了。 废话不多说了,让我手把手详细到告诉如何搭建世界上超级迷你的WEB环境网站吧!GO~GO~GO~

安装配置


【1.1更新系统源等信息】
采用root用户登录输入命令进行更新系统的源信息,否则可能导致下面的在线安装不能成功。
root@nrjs-cn:~# apt-get update
NanoPiNEO开箱评测图

【1.2开始安装nginx服务】
完成上面的更新命令后,在命令行输入即可安装NGINX服务了。这个过程需要3~5分钟的时间具体看网速和编译速度。
root@nrjs-cn:~# apt-get install nginx
NanoPiNEO开箱评测图

【1.3启动NGINX服务】
待NGINX安装完成后不需要做任何配置就能够直接使用如下命令启动,如果启动错误或无法启动则可能是你的安装过程有问题。你可以随时QQ联系我咨询。
root@nrjs-cn:~# /etc/init.d/nginx restart
NanoPiNEO开箱评测图

【2.1配置】
默认安装完成后其NGINX的配置路径是/etc/nginx/conf.d/在这里我们建立一个自己测试的配置文件nrjs.conf来进行测试。
root@nrjs-cn:~# vi /etc/nginx/conf.d/nrjs.conf
NanoPiNEO开箱评测图

配置文件中
server{}为声明一个作用域
listen 表示WEB服务所在的端口,默认是80端口,但这里我们方便测试采用20080端口。
root 是配置该网站的根目录位置。
index是指定那几个文件为网站的默认首页网页。
以上仅仅只是简单的配置,具体详细配置可以查看本文后面的扩展资料。

建立网站的根目录,用来存放网站的各种网页文件,图片等。
root@nrjs-cn:~# mkdir /home/nrjs/

使用编辑器建立一个最简单的网页index.htm做测试。
root@nrjs-cn:~# vi /home/nrjs/index.htm
NanoPiNEO开箱评测图

配置说明资料


#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;
#设定日志格式
access_log /var/log/nginx/access.log;
#设定负载均衡的服务器列表
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的几率越大
server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口
server 192.168.8.2x:80 weight=1;
server 192.168.8.3x:80 weight=6;
#侦听192.168.8.x的80端口
listen 80;
server_name 192.168.8.x;
#对aspx后缀的进行负载均衡请求
location ~ .*\.aspx$ {
root /root; #定义服务器的默认网站根目录位置
index index.php index.html index.htm; #定义首页索引文件的名称
proxy_pass vr ;#请求转向mysvr 定义的服务器列表
#以下是一些反向代理的配置可删除.
proxy_redirect off;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #允许客户端请求的最大单文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,
proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传

评测总结

在这次使用NanoPiNEO搭建网站WEB服务器过程中NanoPiNEO的处理能力还是可以的,虽然在NGINX的编译环节消耗了点时间。但搭建完后启动NGINX和访问网页都是非常快的。作为一个家用级的WEB服务器是没有问题,这位以后搭建家庭WEB存储私有云垫底了基础。

Syndicate content