树莓派可以用来做服务器、搭建博客或者其他各类网站,搭建时必须在树莓派上安装必要的服务器软件,如 Nginx、PHP 7.3 、MariaDB 、 phpMyAdmin ,即经常说的LNMP套件,只不过这里在树莓派上将MySql换成了版本更新的 MariaDB 。以下是在树莓派上安装LNMP的详细过程。
一、安装nginx
sudo apt-get install nginx-light
二、安装php 7.3
sudo apt-get install php7.3-fpm
三、配置nginx,使得可以处理php网页
Nginx的配置文件默认位置为:/etc/nginx/nginx.conf,而配置PHP只需修改 /etc/nginx/sites-available/default 文件就可以。
修改 nginx 配置:
sudo nano /etc/nginx/sites-available/default
修改的地方很少。
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
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;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
}
}
修改之后重启nginx,即可配置好nginx和php:
sudo nginx -s reload
这时可以查看下是否配置成功,在网站根目录下新建一个index.php的文件,输入以下内容:
<?php phpinfo(); ?>
保存后退出,在浏览器中打开http://树莓派ip/index.php,即可看到phpinfo 信息,说明php和nginx配置成功!
四、树莓派安装 MySQL和phpMyAdmin
sudo apt-get install mariadb-server-10.3 phpmyadmin
中间会出现一个配置 phpMyAdmin 的选项,由于树莓派用的web服务器是nginx ,所以这里按“Esc”推出,没有选择。
安装快结束时,又出现了一个配置选项:
Configuring phpmyadmin
│ Otherwise, you should probably choose this option.
│ Configure database for phpmyadmin with dbconfig-common?
点击yes进行配置。之后要求输入一个密码,以注册到mysql 服务器上去。
输入密码后点击 “OK”,再次确认。
安装完成后还要把phpmyadmin 连接到 nginx服务器的php根目录上,因此建立软连接:
sudo ln -s /usr/share/phpmyadmin /var/www/html
五、修改数据库密码
数据库安装好之后是没有密码的,为了安全,要修改数据库加密方式,并设置密码。
登陆数据库:
sudo mysql -u root -p
不用输入密码,直接确认即可登入。
修改加密方式:
> update mysql.user set plugin='mysql_native_password';
修改密码:
> update mysql.user set password=PASSWORD("用你的密码代替") where User='root';
刷新权限信息
> flush privileges;
这时再登陆数据库就需要密码了。
六、完成
到这儿就完成了在树莓派上搭建网站服务器的步骤,共在树莓派上安装了Nginx、PHP 7.3 、MariaDB 、 phpMyAdmin 。你可以登陆 http://树莓派Ip/phpMyAdmin 来管理数据库(登陆名为phpmyadmin,密码为在安装时配置的密码),也可以将网站文件放在/var/www/html下,从而轻松在树莓派上搭建个人的博客网站了。
在树莓派上搭建的状态监控网站
七、备注
测试时间和系统版本信息:
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
安装完成后各软件版本信息:
数据库服务器
- 服务器: Localhost via UNIX socket
- 服务器类型: MariaDB
- 服务器版本: 10.3.22-MariaDB-0+deb10u1 – Raspbian 10
- 协议版本: 10
- 用户: phpmyadmin@localhost
- 服务器字符集: UTF-8 Unicode (utf8)
网站服务器
- nginx/1.14.2
- 数据库客户端版本: libmysql – mysqlnd 5.0.12-dev – 20150407 – $Id: 7cc7cc96e675f6d72e5cf0f267f48e167c2abb23 $
- PHP 扩展: mysqli curl mbstring
- PHP 版本: 7.3.11-1~deb10u1
phpMyAdmin
- 版本信息: 4.6.6deb5
原创文章,转载请注明: 转载自科技爱好者博客
本文链接地址: 树莓派安装 lnmp 套件搭建个人博客网站服务器 (https://www.tujing.site/3696)
如果博客对您有帮助,请给我 赞助
想问一下在根目录下新建 index.php 打开之后是空白页是什么原因啊?
求问,按照你的方法一步一步下来都搞掂了,然后把pi dashboard装上了,但是访问IP地址nginx返回500 internal server error是咋回事呢?
访问phpmyadmin是不是正常的?
500错误表示服务器内部错误
检查下nginx的配置,上次有个同学说搞完后不能访问,最后发现是配置文件写错了
您好,我前五步都设置成功了,树莓派IP/index.php 也能跟您的图一样。最后输入: http://树莓派Ip/phpMyAdmin ,显示404 not found。 请问是什么原因呢?
是“ 403 forbidden nginx/1.14.2 ” (不好意思,刚才看错了)
403错误最可能是因为phpmyadmin的权限设置太高,把权限改成777试一下
请问怎么操作呢?我是小白,刚入门。我试了sudo chmod 777 /va r/www/html 没成功诶。 提前谢谢啦
命令不对,试试sudo chmod 777 /var/www/html/phpmyadmin
它提示: chmod: “777” 后缺少操作数。另外,我刚才仔细检查了/etc/nginx/sites-available/default,发现我的server{}的第四个命令行少了个index.php. 我添加后phpmyadmin的网页又变成404 not found的错误。 大神,求救~
http://IP/phpmyadmin/再试试看
搭建好了,只能局域网使用,如何实现内网穿透,求助!
请问一下,如何在网站根目录创建 index.php呢?
我尝试了使用vi index.php创建出了一个PHP文件,并尝试写入文章中的那段代码,但是显示权限不够不能修改。
然后我用rm指令把php文件删了,打算用vi指令再创建一个index.php,显示存在一个swp文件,说可以删除但我不知道如何删除,并且index.php文件也不会创建了。
此外 http://树莓派Ip/phpMyAdmin ,显示404 not found。
为什么phpmyadmin是404
同样想情问一下phpmyadmin是404该怎么处理
我的也是 phpmyadmin是403错误,而且我已经把他的权限等级降到777了 还是有403 错误 403 forbidden nginx/1.14.2
遇到一个CSDN抄袭的 我这边帮你举报了
遇到一个CSDN抄袭的 我这边帮你举报了 网址是这个
https://blog.csdn.net/weixin_33503998/article/details/113443752
感谢!抄袭的已经删除了
有点奇怪,我这边配置成功了。但是我想把默认端口修改为8080,直接修改default文件的端口,80改为8080修改后都是失败的。
然后,我要是想WORDPRESS从IP:12345直接访问,PI-HOLE从IP:12346直接访问,pi-dashboard从IP:12347直接访问,怎么设置呢。我这边尝试都是失败的。。。是不是和nginx-light有关?