树莓派4B(7-10更新系统)安装nginx+php+mysql

技术 · 2019-09-01 · 372 人浏览

安装MySQL

  • 安装MySQL

    • 使用管理员权限运行apt-get获取最新的MySQLPython编程接口(之后用于数据库编程):
    • sudo apt-get install mariadb-server-10.0 python-mysqldb
      
  • 配置MySQL可以远程连接

    • sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf 
    • 找到并注释掉下面的内容
    • bind-address = 127.0.0.1
  • 修改root密码

    • sudo mysqladmin -u root -p password 
    • 填写密码

      • Enter password: 我安装的这个版本安装时没有设置root密码的提示,这个随便输 
        New password: 填你的密码 
        Confirm new password:
  • 开启root远程登录权限

    • sudo mysql #超级用户进入mysql 
    • 切换到数据库MySQL

      • use mysql;
    • 给root授予在任意主机(%)访问任意数据库的所有权限

      • grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    • 如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:
      代码如下:

      • update user set host='%' where user='root' and host='localhost';
    • 退出数据库

      • exit
    • 重启数据库

      • sudo service mysql restart

安装和配置Nginx/PHP

安装nginx:

sudo apt-get install nginx

安装PHP(PHP7):

sudo apt-get install nginx php-fpm php-cli php-curl php-gd phpmcrypt php-cgi php-mysql php-xml

安装完毕后,开始配置。

开始配置

配置Nginx:

sudo nano /etc/nginx/nginx.conf

打开以后找到下面的位置并修改:

user www-data;
worker_processes 1; #修改这里
pid /var/run/nginx.pid;
events {
worker_connections 64; #修改这里
#multi_accept on;
}

继续向后找到gzip 去掉前面的注释修改如下:

gzip on;
gzip_disable “msie6”;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

CTRL+O保存,CTRL+X退出(后面将直接用保存并退出代替)
配置PHP:

sudo nano /etc/php/7.3/fpm/php.ini

打开以后找到下面的代码,并修改:

; Maximum amount of memory a script may consume (128MB)
;http://php.net/memory-limit
memory_limit = 32M #修改这里

CTRL+O(保存)CTRL+X(退出)

配置PHP-FPM:

sudo nano /etc/php/7.3/fpm/php-fpm.conf

找到一下代码,并修改:

; The maximum number of processes FPM will fork. This has been design to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
process.max = 4 #修改这里

保存并退出。

配置网站的相关配置,先备份一份比较安全:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak

修改配置文件:

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;
        }

替换为:

location / {
index  index.html index.htm index.php default.html default.htm default.php;
if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
    rewrite (.*) /index.php;
}
}

location ~.php(/.*)*$ {
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

保存并退出。

修改完成以后,测试下PHP已经是否能正常请立即获取iTunes

sudo nano /var/www/html/index.php

输入内容如下:

<?php
      phpinfo();
?>

重启nginx和PHP7-FPM

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.3-fpm restart

在电脑浏览器中输入树莓派IP地址查看是否成功:

出现如下界面为成功:
14.png

nginx php7 raspberry MySQL
Theme Jasmine by Kent Liao