树莓派安装 nginx + php5 + sqlite3 并运行 Thinkphp / Typecho

date
Dec 10, 2019
slug
raspbian-install-web-env-and-run-php
status
Published
tags
折腾
summary
第一次接触这个基于Debian开发定制的Raspbian系统,还挺多坑的,记录一下
type
Post
最近项目赶进度,开始搭建环境,第一次接触这个基于Debian开发定制的Raspbian系统,还挺多坑的,记录一下。

更换国内源

在安装之前,首先将系统自带的源换成国内的源,不然速度感人。。 查了一圈,国内各大厂商和高校都有相应的镜像源,最终用了清华的源。在CentOS国内机器上用的也是清华的,清华的源还是很不错的,文档也全。
清华镜像Raspbian源介绍:https://mirror.tuna.tsinghua.edu.cn/help/raspbian/ 由于以下原因,Raspbian 需要单独组建软件仓库,而不能使用 Debian 的仓库: Debian下所有的软件包都需要用 armhf 重新编译。 树莓派有部分特有的软件包,例如 BCM2835 CPU 的 GPIO 底层操作库。 树莓派用户倾向于探索、尝试最新的软件。这与 Debian 软件源的策略完全不同。
根据文档的介绍,对源进行更换
# 编辑 `/etc/apt/sources.list` 文件,删除原文件所有内容,用以下内容取代:
deb <http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/> buster main non-free contrib
deb-src <http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/> buster main non-free contrib

# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,删除原文件所有内容,用以下内容取代:
deb <http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/> buster main ui
编辑镜像站后,请使用sudo apt-get update命令,更新软件源列表,同时检查您的编辑是否正确。

安装Nginx

更新源后,就可以用apt对软件进行统一的安装 sudo apt-get install nginx 执行后即可自动安装nginx,安装完成后启动 sudo /etc/init.d/nginx start

安装PHP+SQLite

这里有一个比较坑的点。网上许多的教程中使用的php5、php7在比较高的系统中已经无法安装(可能是系统不支持),所以需要安装最新版本的 sudo apt-get install php-fpm #默认安装的是php7 sudo apt-get install php7.3-sqlite3 #这里要根据上面安装的PHP版本改变,我看到装的是7.3就改成了这个
等待自动安装完成,就完成了环境的搭建

配置Nginx

这里需要对相应的nginx配置文件进行更改 首先,备份nginx的默认配置 sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak 然后,用nano进行文件的编辑 sudo nano /etc/nginx/sites-available/default 在root项里加入index.php默认首页的支持,再翻到下面,把PHP相关的信息的注释给删掉
location ~ \\.php$ {
  include snippets/fastcgi-php.conf;
  # With php-fpm (or other unix sockets):
  fastcgi_pass unix:/run/php/php7.3-fpm.sock; #这里把这一项删掉就可以,删多了无法应用
  # With php-cgi (or other tcp sockets):
  # fastcgi_pass 127.0.0.1:9000;
}
最后加入伪静态的重定向
location / {
  if (!-e $request_filename) {
      rewrite ^(.*)$ /index.php?s=$1 last;
      break;
    }
}
修改后,使用ctrl+o保存,再用ctrl+x退出。重新载入nginx配置 sudo /etc/init.d/nginx reload 执行后,将程序拷入root根目录(我这里是/var/www/html)访问后成功载入。

© Krist 2016 - 2024

|