树莓派4B安装PHP7.3 + Nginx + MySQL 教程

在树莓派4B上搭建Web服务器环境:PHP7.3 + Nginx + Mariadb。数据库Mariadb是MySQL的一个分支,API和命令行兼容MySQL。

安装PHP7.3
目前官方源已经有PHP7.3的版本,不用添加其它下载源就能安装。首先更新软件列表:

sudo apt-get update

安装PHP7.3:

sudo apt install -y -t buster php7.3-fpm php7.3-curl php7.3-gd php7.3-intl php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-sqlite3 php7.3-xml php7.3-xmlrpc php7.3-zip

通过命令php -v能够看到PHP版本号7.3,说明安装完成:

PHP 7.3.14-1~deb10u1 (cli) (built: Feb 16 2020 15:07:23) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.14-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

查看php.ini配置文件位置:

pi@raspberrypi:~ $ php -i|grep "Loaded Configuration File"
Loaded Configuration File => /etc/php/7.3/cli/php.ini

输出显示配置文件在 /etc/php/7.3/cli/php.ini。注意,实际上配置文件有两个,另外一个在 /etc/php/7.3/fpm/php.ini。通过命令行调用php时,会使用第一个配置文件;通过fpm调用php(例如nginx)会使用第二个配置文件。

php-fpm常用管理命令:
开启php-fpm: sudo systemctl start php7.3-fpm
关闭php-fpm: sudo systemctl stop php7.3-fpm
重启php-fpm: sudo systemctl restart php7.3-fpm
编辑php-fpm配置文件: nano /etc/php/7.3/fpm/php-fpm.ini

安装Nginx
安装nginx:

sudo apt-get install nginx

安装完成后,会自动开启nginx。在浏览器输入树莓派的IP地址,可以看到“Welcome to nginx!”。
或者使用命令行:

pi@raspberrypi:~ $ curl 127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
.....

能够输出html说明nginx安装成功。

默认的网站根目录:/var/www/html
nginx配置文件目录:/etc/nginx/
nginx主配置文件位置:/etc/nginx/nginx.conf

nginx常用管理命令:
启动nginx: sudo systemctl start nginx
关闭nginx:sudo systemctl stop nginx
设置nginx开机启动:sudo systemctl enable nginx

配置nginx解析php
编辑配置nginx文件:

sudo vi /etc/nginx/sites-enabled/default

找到index指令,添加index.php。修改后:

index index.php index.html index.htm index.nginx-debian.html;

找到# pass PHP scripts to FastCGI server后面的location,删除注释。修改后如下:

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;
}

保存后重启nginx:

sudo systemctl restart nginx

在网站根目录创建一个php文件:

sudo vi /var/www/html/index.php

写入以下php代码并保存:

<?php 

phpinfo(); 

?>

在浏览器中输入树莓派的IP地址即可看到phpinfo。

安装Mairadb数据库
使用以下命令安装mariadb:

sudo apt-get install mariadb-server mariadb-client

执行数据库初始化安装:

sudo mysql_secure_installation

根据提示设置数据库root用户密码、是否允许外网访问等。

尝试登录数据库:

mysql -u root -p

输入上一步设置的密码,发现无法登录,错误提示如下:

ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

原因: 数据库默认使用系统用户登录,需要修改为使用密码登录。
解决方案: sudo mysql -u root ,登入数据库后,依次执行以下SQL:

use mysql #切换到mysql数据库

update user set plugin='mysql_native_password'; #修改plugin字段
flush privileges; #刷新权限
exit; #退出数据库

再次使用mysql -u root -p即可通过密码登录数据库,无需root权限执行。

mariadb配置文件保存在多个位置:

/etc/mysql/mariadb.cnf
/etc/mysql/mariadb.conf.d/
/etc/mysql/conf.d/

mariadb常用命令:
启动mariadb: sudo systemctl start mariadb
关闭mariadb:systemctl stop mariadb
设置mariadb开机启动:sudo systemctl enable mariadb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值