在树莓派3B上安装web服务器环境PHP 7.3 + Nginx

2019-07-12  本文已影响0人  围观群众代表

在树莓派3B上搭建网站服务器环境,本次安装基于:


Raspbian Buster v4.19版本 2019-06-20更新

一、安装PHP 7.3

  1. 添加apt源。编辑apt源配置文件:
sudo vi /etc/apt/sources.list.d/raspi.list

在后面加入一行:

deb http://mirrordirector.raspbian.org/raspbian/ buster main contrib non-free rpi
  1. 更新软件包列表:
sudo apt update
  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

安装过程中会提示某些服务需要重启,选择Yes即可。

  1. 测试是否安装成功:
php -v

如果显示php版本号,则安装成功,如下:

PHP 7.3.2-3 (cli) (built: Feb 8 2019 15:05:54) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.2-3, Copyright (c) 1999-2018, by Zend Technologies

二、安装Nginx

  1. 安装nginx:
sudo apt-get install nginx
  1. 安装完成后,网站根目录在/var/www/html, 编辑该目录下的index.nginx-debian.html文件,写入Hello, Nginx!
  2. 测试是否安装成功:打开浏览器输入http://127.0.0.1,能看到刚刚编辑的Hello, Nginx!说明安装成功。或者使用命令行: curl 127.0.0.1 ,也能够输出Hello, Nginx!

三、配置Nginx解析PHP

  1. 编辑Nginx配置文件sudo vi /etc/nginx/sites-enabled/default, 找到# pass PHP scripts to FastCGI server, 在后面加入以下代码:

     location ~ \.php$ {   
         include snippets/fastcgi-php.conf;        
         fastcgi_pass unix:/run/php/php7.3-fpm.sock;    
    }       
    
    

    然后在index指令后面加上index.php,修改后文件内容如下:[图片上传中...(image-2a2aec-1562901999837-0)]

  2. 修改配置后需要重新加载Nginx配置才能生效:
    sudo nginx -s reload

  3. 测试解析PHP。创建一个文件/var/www/html/index.php,写入php代码:

    <?php  
    echo time();
    

    保存后执行命令curl 127.0.0.1,返回时间戳即说明Nginx成功解析了php。

四、安装Mariadb数据库

  1. 安装数据库:
    sudo apt-get install mariadb-server mariadb-client

  2. 执行数据库初始化安装:
    sudo mysql_secure_installation
    根据提示设置root密码等信息。

  3. 尝试登录数据库:
    mysql -u root -p
    输入上一步设置的密码,发现无法登录,错误提示如下:

    ERROR 1698 (28000): Access denied for user 'root'@'localhost'  
    
    

    原因: 数据库默认使用系统用户登录,需要修改为使用密码登录。
    解决方案: sudo mysql -u root ,登入数据库后,依次执行以下代码:
    use mysql #切换到mysql数据库 update user set plugin='mysql_native_password'; #修改plugin字段 flush privileges; #刷新权限
    exit; #退出数据库

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

上一篇下一篇

猜你喜欢

热点阅读