树莓派4b 更新源 && LNMP网络服务器配置学习

2022.1.22.

小白刚刚开始学习树莓派!记录一下自己遇到的问题和解决方法。

我使用的是树莓派最新版本4b。所以以下内容均是在该版本树莓派上的操作。

参考链接:

1. 树莓派4B安装PHP7.3 + Nginx + MySQL 教程 | 毛英东的个人博客

2. 解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)_醇醛酸酯 的博客-CSDN博客

一.更新源

 为什么要更新源?

 简单讲,就是为了“更快”! 知乎上有一个回答,可以参考一下:"Linux系统为什么要换源? - 知乎"

 所以,拿到树莓派,安装好系统之后,首先更新了系统的源。

以下给出更新源的方法:

sudo nano /etc/apt/sources.list
#将原有内容用#注释掉
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main contrib non-free rpi

sudo nano /etc/apt/sources.list.d/raspi.list
#将原有内容用#注释掉
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main ui
sudo apt-get update
sudo apt-get upgrade

 二 . LNMP网络服务器配置

  在树莓派4b上搭建Web服务器环境:PHP7.3 + Nginx (配置Nginx解析php)+ Mariadb。

2.1 安装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,说明安装完成:

pi@raspberrypi:/ $ php -v
PHP 7.3.31-1~deb10u1 (cli) (built: Oct 24 2021 15:18:08) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.31, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.31-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

2.2 安装Nginx

安装命令:

sudo apt-get install nginx

安装完成后,会自动开启nginx。

此时,在浏览器中输入树莓派的IP地址,可以看到“Welcome to nginx!”。

2.2.1 配置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。

2.3 安装Mairadb数据库

如果没有按照上边所描述更新源,则树莓派4b在安装Mairadb数据库时,会报错缺少依赖。

所以,建议还是先更新源,会在后边的调试安装过程中省事。

 安装 mariadb:

sudo apt-get install mariadb-server mariadb-client

 执行数据库初始化安装:

sudo mysql_secure_installation

 此时会弹出好几个提示,需要根据提示设置数据库root用户密码、是否允许外网访问等等。

结束后,尝试登录数据库:

mysql -u root -p

输入上一步设置的密码,如果登陆成功,恭喜!

但是!

如果发现无法登录,并且报错提示如下:

pi@raspberrypi:~ $ mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

那请继续往下。

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

sudo mysql -u root

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

1. use mysql +回车  #切换到mysql数据库
2. update user set plugin='mysql_native_password'; +回车 #修改plugin字段
3. flush privileges; +回车 #刷新权限
4. exit; +回车 #退出数据库

再次使用:

mysql -u root -p 

即可通过密码登录数据库,无需root权限执行。

另外,如果上边这个方法解决不了,并且报错如下:

该错误一般是密码输入错误引起,解决的办法是重置密码,重置密码的第一步就是跳过MySQL的密码认证过程。

修改过程:

首先打开自己的 my.cnf 文件,一般在 /etc/mysql/..文件夹下(具体找找),找到后,在终端输入:

sudo vi /etc/my.cnf

打开后在文件中找到 [mysqld], 在它的后面任意下一行添加如下代码:

skip-grant-tables

然后保存并退出。输入

:wq  +回车

然后重启mysql,命令如下:

/etc/init.d/mysqld restart

这里如果提示如下:

则输入:

sudo mysql

 打开mysql,然后用sql来修改root的密码 。

 在mysql数据库有一个user表,存储的是数据库用户的信息,需要修改的里面用户的密码;

输入:

show databases;

会显示:

 然后依次输入一下命令:

1.use mysql; +回车(使用mysql数据库)

显示:

2.update user set password=password("在这个引号内输入你的密码") where user="root";

显示:

3.flush privileges;

显示:

4.quit

显示:

此时root账户就已经重置成新的密码了。

然后还需要再编辑 my.cnf文件去掉刚才添加的那一行内容,然后重启MySQL。

具体如下图:

本文完。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值