树莓派安装 lnmp 套件搭建个人博客网站服务器

树莓派可以用来做服务器、搭建博客或者其他各类网站,搭建时必须在树莓派上安装必要的服务器软件,如 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下,从而轻松在树莓派上搭建个人的博客网站了。

phpMyAdmin 管理界面

在树莓派上搭建的状态监控网站

树莓派上搭建的状态监控网站

七、备注

测试时间和系统版本信息:

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)

如果博客对您有帮助,请给我 赞助


热度:15,830℃

树莓派安装 lnmp 套件搭建个人博客网站服务器》有27个想法

  1. 求问,按照你的方法一步一步下来都搞掂了,然后把pi dashboard装上了,但是访问IP地址nginx返回500 internal server error是咋回事呢?

        1. 请问怎么操作呢?我是小白,刚入门。我试了sudo chmod 777 /va r/www/html 没成功诶。 提前谢谢啦

            1. 它提示: chmod: “777” 后缺少操作数。另外,我刚才仔细检查了/etc/nginx/sites-available/default,发现我的server{}的第四个命令行少了个index.php. 我添加后phpmyadmin的网页又变成404 not found的错误。 大神,求救~

  2. 请问一下,如何在网站根目录创建 index.php呢?
    我尝试了使用vi index.php创建出了一个PHP文件,并尝试写入文章中的那段代码,但是显示权限不够不能修改。
    然后我用rm指令把php文件删了,打算用vi指令再创建一个index.php,显示存在一个swp文件,说可以删除但我不知道如何删除,并且index.php文件也不会创建了。
    此外 http://树莓派Ip/phpMyAdmin ,显示404 not found。

  3. 我的也是 phpmyadmin是403错误,而且我已经把他的权限等级降到777了 还是有403 错误 403 forbidden nginx/1.14.2

  4. 有点奇怪,我这边配置成功了。但是我想把默认端口修改为8080,直接修改default文件的端口,80改为8080修改后都是失败的。
    然后,我要是想WORDPRESS从IP:12345直接访问,PI-HOLE从IP:12346直接访问,pi-dashboard从IP:12347直接访问,怎么设置呢。我这边尝试都是失败的。。。是不是和nginx-light有关?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注