说明

原本想偷懒用宝塔直接安装的,没想到死活安装不成功,后来尝试过LNMP一键脚本,发现貌似不支持ARM安装,还是自食其力手动安装LNMP吧。

过程

1.切换国内源

这个可以参考我的另外一篇文章

2.安装Nginx

2.1 安装nginx

安装Nginx,输入下面的命令

sudo apt-get install -y nginx

安装完毕后启动nginx服务:

sudo service nginx restart

3.安装php

3.1 安装php

sudo apt-get install -y nginx php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi php7.0-mysql php7.0-mbstring

假如提示包不存在,出现类似一下提示

php not found.png

那么就代表我们当前选择的镜像源没有这个版本的安装包,执行命令

apt list php*

查看我们当前这个源有什么版本的php

php list.png

大概发现php7.0这个版本不在我们的源内,所以这里我选择更换为php7.1版本。执行以下命令安装

sudo apt-get install -y nginx php7.1-fpm php7.1-cli php7.1-curl php7.1-gd php7.1-mcrypt php7.1-cgi php7.1-mysql php7.1-mbstring

安装完成后输入命令启动php服务

sudo service php7.1-fpm restart

3.2 修改nginx使其支持php

sudo nano /etc/nginx/sites-available/default

找到这段代码

location / {
       # First attempt to serve request as file, then
       # as directory, then fall back to displaying a 404.
       try_files $uri $uri/ =404;
}

在这段代码的{}里面,添加一行代码:index index.html index.htm index.php;

location / {
       # First attempt to serve request as file, then
       # as directory, then fall back to displaying a 404.
       try_files $uri $uri/ =404;
       index index.html index.htm index.php;
}

再找到下面的代码:

    #location ~ \.php$ {
        #       include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
        #       fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        #}

改为:(注意要去掉location 和 }前面的“#”号)

     location ~ \.php$ {
        #       include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }

保存退出

更方便的做法

server {
    listen 80;#Web服务端口号,大陆用户可能需要修改为81或8080等
    server_name raspiweb.dyndns.org;
    root /media/usb/www/;
 
    access_log  /var/log/nginx/localhost.access.log;
    #error_page 404 /404.html;
 
    if (!-e $request_filename)
    {
        rewrite ^(.*)$ /index.php$1 last;
    }
 
    location / {
        index  index.html index.htm index.php default.html default.htm default.php;
    }
 
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
        access_log  off;
        expires 1d;
    }
 
    location ~ .*\.php(\/.*)*$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}

3.安装Mysql

3.1 安装mysql

sudo apt-get install -y mysql-server mysql-client

很巧,这个镜像源又貌似又没有mysql-servermysql-client,但是看着提示要我们安装mariadb-client-10.0mariadb-server-10.0

mysql.png

执行命令安装

sudo apt-get install -y mariadb-client-10.0 mariadb-server-10.0

启动服务

sudo service mysql restart

3.2 配置mysql

mysql -u root -p #初次登录提示输入密码的话直接按回车

UPDATE mysql.user SET host='%',authentication_string=PASSWORD('root'), PLUGIN='mysql_native_password' WHERE USER='root'; #授权并更改密码为root

FLUSH PRIVILEGES; #刷新权限

exit #退出

sudo service mysql restart #重启服务

如果远程连接提示“100061”错误,那就继续修改/etc/mysql/mariadb.conf.d文件夹中的50-server.cnf文件

#用nano打开50-server.cnf
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

#修改其中的bind-address为
bind-address = 0.0.0.0

#Ctrl + O 保存再 Ctrl + X 退出,并重启mysql服务即可生效。
sudo service mysql restart

事实上博主执行到这一步还是提示100061,不知道为什么。不过后面我们可以用phpmyadmin来执行数据库操作

4.安装phpmyadmin

sudo apt-get install -y phpmyadmin
sudo ln -s /usr/share/phpmyadmin /var/www/html

测试

输入树莓派ip即可查看php信息

Snipaste_2021-02-16_22-42-16.png

输入树莓派ip/phpmyadmin即可查看phpmyadmin

Snipaste_2021-02-16_22-42-32.png

Last modification:February 17th, 2021 at 12:12 pm
如果觉得我的文章对你有用,请随意赞赏