https://web-security/rapberry_pi_4b_install_php7.3_nginx_mysql/
转载感谢阿毛 ,文章写的非常清楚。
只做了一些补充,希望帮到大家。
在树莓派4B上搭建Web服务器环境:PHP7.3 + Nginx + Mariadb。数据库Mariadb是MySQL的一个分支,API和命令行兼容MySQL。
安装PHP7.3
目前官方源已经有PHP7.3的版本,不用添加其它下载源就能安装。首先更新软件列表:
|
安装PHP7.3:
|
通过命令php -v
能够看到PHP版本号7.3,说明安装完成:
|
查看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配置文件: vi /etc/php/7.3/fpm/php-fpm.ini
安装Nginx
安装nginx:sudo apt-get install nginx
安装完成后,会自动开启nginx。在浏览器输入树莓派的IP地址,可以看到“Welcome to nginx!”。
或者使用命令行:
|
能够输出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 #此文件为ln的链接文件,也可直接编辑原始文件。
找到index
指令,添加index.php
。修改后:
|
找到# pass PHP scripts to FastCGI server
后面的location,删除注释。修改后如下:
|
保存后重启nginx:
|
在网站根目录创建一个php文件:
|
写入以下php代码并保存:
|
在浏览器中输入树莓派的IP地址即可看到phpinfo。
启动nginx服务时如果遇到这个错误 Job for nginx.service failed because the control process exited with error code. See “systemctl stat 可能原因如下:
1.nginx配置文件有错误
运行下面命令查看修改
nginx -t
之前配置解析php时始终不能成功,只因为default
文件最后一行缺少一个“}”
2.已经启动nginx或者配置文件中的端口号被占用
检查端口是否被占用
netstat -tnlp
如果端口已经被占用,自己权衡一下是换个端口还是把占用端口的进程杀掉
检查nginx是否已经启动
ps -aux | grep nginx
如果已经启动使用下面命令干掉即可
pkill -9 nginx
安装Mairadb数据库
使用以下命令安装mariadb:
|
执行数据库初始化安装:
|
根据提示设置数据库root用户密码、是否允许外网访问等。
尝试登录数据库:
|
输入上一步设置的密码,发现无法登录,错误提示如下:
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/mariadbf
/etc/mysql/mariadb.conf.d/
/etc/mysql/conf.d/
mariadb常用命令:
启动mariadb: sudo systemctl start mariadb
关闭mariadb:systemctl stop mariadb
设置mariadb开机启动:sudo systemctl enable mariadb
更多推荐
树莓派4B安装PHP7.3 + Nginx + MySQL 教程
发布评论