树莓派 4B 上搭建 LNMP 服务器(PHP7.3 + Nginx + Mariadb + phpMyAdmin)


前言

树莓派 4B 系统用的是树莓派官方的 raspios 。

在树莓派 4B 上搭建 LNMP 服务器环境:PHP7.3 + Nginx + Mariadb + phpMyAdmin 。


提示:以下是本篇文章正文内容,下面方法仅供参考。

一、具体步骤

1. 首先更新软件列表:

sudo apt-get update

2. 安装 PHP 7.4 (以最新版本为准):

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

3. 安装 Nginx :

3.1. 安装 Nginx :

sudo apt-get install nginx

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

3.2. 配置 Nginx 解析 php :

配置 Nginx 文件:

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

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

添加 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 文件

保存后重启 nginx :

sudo systemctl restart nginx

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

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

写入以下php代码并保存:

<?php
phpinfo();

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

4. 安装 Mairadb 数据库 :

sudo apt-get install mariadb-server mariadb-client

5. 安装 phpMyAdmin :

sudo apt-get install phpmyadmin

因为用的web服务器是 Nginx ,所以这里没的选择,直接按“回车”确定。
选择要自动配置以运行 phpMyAdmin 的网络服务器
是否使用dbconfig-common配置phpmyadmin的数据库:
是否使用dbconfig-common配置phpmyadmin的数据库
设置phpmyadmin密码:
设置phpmyadmin密码
确认phpmyadmin密码:
确认phpmyadmin密码
在默认 web 目录下添加 phpMyAdmin 的软链接,否则 phpMyAdmin 无法打开:

sudo ln -s /usr/share/phpmyadmin/ /var/www/html/

phpMyAdmin 安装完成。

6. 配置 Mairadb 数据库 :

6.1.执行数据库初始化安装:

sudo mysql_secure_installation

输入 Mairadb 数据库当前 root 用户密码,没有设置过就按 “回车” 。
输入Mairadb 数据库当前root用户密码
是否设置 root 密码:
是否设置root密码
是否删除匿名账户:
是否删除匿名账户
是否禁止远程 root 登陆:
是否禁止远程 root 登陆
是否删除测试数据库:
是否删除测试数据库
是否更新权限:
是否更新权限
数据库初始化安装完成。

6.2.尝试登录数据库 :

mysql -u root -p

输入上一步设置的密码,发现无法登录,错误提示如下:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

报错原因:数据库默认使用系统用户登录,需要修改为使用密码登录。

解决方案:

sudo mysql -u root

登入数据库后,依次执行以下SQL:

切换到mysql数据库

use mysql 

修改plugin字段

update user set plugin='mysql_native_password'; 

刷新权限

flush privileges; 

退出数据库

exit; 

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

7. 测试 phpMyAdmin :

用浏览器登陆 phpMyAdmin ,

登录地址:http://树莓派ip地址/phpmyadmin/index.php

登陆 phpMyAdmin
完成。


其它

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

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配置文件: vi /etc/php/7.3/fpm/php-fpm.ini

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

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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值