NANOPI NEO2 个人笔记 2 搭建WEB服务器


在上一篇中详细的写了关于怎么安装系统,这篇记录WEB服务器部署的整个过程和遇到的一些问题。
上篇地址 http://37340342oj.zicp.vip/index.php/archives/70/
系统没有继续用DietPi,因为diepi是国外的,软件安装方面会出问题,导致后面会出现莫名奇妙的问题。当然我也尝试过换国内源,结果不尽人意。所以这次改用友善的系统friendlycore-xenial_4.14版本,官方百度下载地址friendlycore4.14,需要其它的固件这个地址
WEB服务器方案 使用了Nginx + php + SQlite 方案。

首次进入系统

安装好后把SD卡插到nanopi上 ,FriendlyCore默认帐户
普通用户:

用户名: pi  
密码: pi

Root用户:

用户名: root
密码: fa

登录后,默认开启了sftp服务,ssh连接后可以直接看到系统的目录,后面操作起来还是比较方便的,对于小白的我来说还是挺方便的

安装 Nginx 服务器

sudo apt-get install nginx

安装成功后,输入nanopi的局域网地址 我的是192.168.31.239 ,看到下面的画面说明Nginx安装成功了。这个地址需要在路由器里面绑定(DHCP静态IP分配),不然下次重启设备后可能就不是这个地址了。

如果打不开你可以发送 sudo /etc/init.d/nginx start 手动启动Nginx服务

sudo /etc/init.d/nginx start

nginx的www根目录默认在/var/www/html,如果需要改为www下的话 需要修改。

安装 PHP软件

安装php

sudo apt-get install php7*-fpm php7*-sqlite

安装 php7.0-xml
先查看自己php版本

php -v

我的是7.0.33
安装命令

sudo apt-get install php7.0-xml

修改nginx的配置文件

修改Nginx下的配置文件 路径 /etc/nginx/sites-available default

双击打开 后修改
这是80端口 需要改掉 8686或者其他都可以

     listen 80 default_server;
listen [::]:80 default_server;

这是你的网站根目录 默认是 var/www/html 我改成

    root /var/www;

因为是php程序,所以在需要在index那行 添加 index.php

    # Add index.php to the list if you are using PHP
index  index.php index.html index.htm index.nginx-debian.html;

找到 location 添加下面的内容,这是关于伪静态的配置

location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.

       if (-f $request_filename/index.html){
             rewrite (.*) $1/index.html break;
        }
       if (-f $request_filename/index.php){
           rewrite (.*) $1/index.php;
        }
       if (!-f $request_filename){
           rewrite (.*) /index.php;
        }

     try_files $uri $uri/ =404;
}

找到 location ~ .php$ 添加下面的内容 “#”为注释 不用修改

    location ~ \.php$ {
#   include snippets/fastcgi-php.conf;
#
#   # With php7.0-cgi alone:
#   fastcgi_pass 127.0.0.1:9000;
#   # With php7.0-fpm:
     fastcgi_index index.php;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_param  SCRIPT_FILENAME /var/www$fastcgi_script_name;
    include fastcgi_params;
    include fastcgi.conf;
}

修改好后重启 Nginx服务

sudo /etc/init.d/nginx reload

至此简单WEB的环境就全部署好了,关于Nginx的其它配置可以自行摸索研究哈,这里就不再赘述了。

安装博客程序

我用的是 Typecho 博客,非常轻量级的博客,很简洁,我比较喜欢
在安装是如果出现下图的错误

需要修改两处文件夹权限 www 和 usr 如下图

完成安装

安装完成在浏览器中输入局域网的你的nanopi的设备地址,192.168.31.239:80(80是默认端口我没改,80端口后面不用加80,如果你设置的是其它端口这里就需要加上)

目前网站只能在局域网访问,如果需要别人在外网也能访问,需要对猫和路由器做一些设置,比较复杂。如果网站流量不大,我个人建议买个花生壳棒就可以完美解决外网访问问题。

总结

默认安装好后其实是要手动修改配置文件的,对于绝对的新手来说,很不友好。期间遇到一些问题,无从下手,都快放弃了,但是每解决一个问题之后的那种发自内心欢喜、那种感觉真的很美好。祝你也玩的愉快,早日搭建一个属于自己的个人网站。
生命不息,折腾不止。
Keep on going.

部署WEB服务器遇到的问题

第一个问题

html文件能打开,php页面打开空白,这个问题困扰了我一天,经过各种查资料找到了答案。简单来说是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。所以刚开始修改 default 文件时需要确定自己的php7.0-fpm.sock 文件路径是否正确。
默认路径 /var/run/php

只要地址对了就不没什么问题

第二个问题

打开页面 报错Call to undefined function utf8_decode()
这个问题很好解决 ,只需要安装对应php版本的php7.0-xml 就可以了。

第三个问题

客首页可以打开,其它页面404报错(看似简单的问题,又是折腾了半天之久)
这几个问题困扰半天真的是毫无头绪,之前已经被第一个问题折腾了一天,最后又来一个问题,当时真的想放弃,突然想到稻盛和夫的两句话

“你是否在竭尽全力的工作” “付出不亚于任何人的努力”

虽然这不是工作,但是好像我似乎并没有做到这两点,于是还是硬着头皮去寻找办法。还是挺幸运的最后找到了解决办法,
Typecho博客是伪静态,而我的Nginx对pathinfo不支持
需要在location里面添加下面的代码

最后所有问题完美解决!

声明:I.KA的个人空间|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - NANOPI NEO2 个人笔记 2 搭建WEB服务器


🧨🏮🎉