当前位置:Gxlcms > 数据库问题 > 树莓派使用apt-get安装配置Nginx+PHP7+MySQL(MariaDB)附带详细部分

树莓派使用apt-get安装配置Nginx+PHP7+MySQL(MariaDB)附带详细部分

时间:2021-07-01 10:21:17 帮助过:29人阅读

  •   apt-get autoremove --purge -y
    • 1
    • 2
    • 1
    • 2

    安装Nginx参考shell如下:

    apt-get install nginx
    • 1
    • 1

    Nginx的配置先放一下,全部安装之后讲。

    3.安装PHP7及其部分插件

    如果使用apt-get直接安装,默认安装的是5.6版本的php,如果希望安装PHP7,参考以下shell:

    1.   apt-get install software-properties-common
    2.   add-apt-repository ppa:ondrej/php
    3.   apt-get update
    4.   apt-get install php7.0 php7.0-fpm php7.0-mysql php7.0-common
    • 1
    • 2
    • 3
    • 4
    • 1
    • 2
    • 3
    • 4
    • 前两行是在安装php7的ppa源
    • 更新源列表后才可安装PHP7(PHP7.0和PHP7.1通用)
    • 最后一行安装了PHP7.0主体,与Nginx对接的php7.0-fpm插件,与mysql对接的php7.0-mysql插件,常用函数工具php7.0-common插件。 
      PHP的配置也有点复杂,放在后面讲。

    4.安装MySQL(MariaDB)

    使用apt-get命令安装的MySQL默认是MariaDB发行版,我不是很会改,貌似只能编译安装才能避免这个问题。我比较懒,只能接受了。还好差别不大。 
    安装MySQL(MariaDB)的shell命令参考如下:

    apt-get install mysql-server mysql-client
    • 1
    • 1

    5.配置Nginx+PHP7+MySQL(MariaDB)

    5.1.重启服务shell

    1.   /etc/init.d/nginx restart
    2.   /etc/init.d/php7-fpm restart
    3.   service mysql restart
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    Nginx和php-fpm也可以用service重启,但是。。。我不习惯

    5.2.配置php-fpm

    此处需要选择Nginx连接到php服务的形式,tcp模式或者socket模式。

    首先要找到www.conf文件,这个文件不好找,不同的平台会导致文件位置不同。 
    我的文件位置在/etc/php/7.0/fpm/pool.d,网上的教程还有在etc/php-fpm.d的。

    编辑www.conf文件参考:

    vim  /etc/php/7.0/fpm/pool.d/www.conf
    • 1
    • 1

    找到参数listen = /run/php/php7.0-fpm.sock

    技术分享图片

    如果参数对应的是XXXX.sock说明php-fpm是通过socket模式与Nginx联络的。 
    如果参数对应的是127.0.0.1说明php-fpm是通过socket模式与Nginx联络的。

    可以根据自己的需要进行修改,请记住该参数,这将会在配置Nginx时用到。

    5.3.配置Nginx

    不知道为啥,apt-get安装出来的Nginx比yum安装出来的配置文件写的更分散,各种include 
    正常情况下配置文件nginx.conf就可以了,但是我的平台上nginx.conf文件中引入了sites-enabled文件夹中的全部配置文件,这就很。。。烦 
    修改配置文件nginx.conf参考:

    1.   #在http{}内有
    2.   #include /etc/nginx/conf.d/*.conf;
    3.   #include /etc/nginx/sites-enabled/*;
    4.   #我建议修改为
    5.   include /etc/nginx/conf.d/*.conf;
    6.   include /etc/nginx/sites-enabled/*.conf;
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    default文件为模版,在sites-enabled文件夹下建立网站配置文件,shell参考如下:

    1.   cp default my.conf
    2.   vim my.conf
    • 1
    • 2
    • 1
    • 2

    配置站点信息,参考如下:

    1.   #个人建议在server{}中删除root和index
    2.   location / {
    3.   root /home/www;
    4.   index index.php index.html;
    5.   try_files $uri $uri/ =404;
    6.   }
    7.   location ~\.php$ {
    8.   root /home/www;
    9.   fastcgi_pass unix:/run/php/php7.0-fpm.sock;#socket mode
    10.   #fastcgi_pass 127.0.0.1:9000;#tcp mode
    11.   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    12.   include fastcgi_params;
    13.   }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    注意!!注意!! 
    fastcgi_pass一定要对应我上述的php-fpm连接方式,如果是tcp模式,请修改为对应的地址和端口。否则会出现502 Bad Gateway。 
    Tip: 
    若测试时出现404 Not found,一般情况都是root对应的路径设置错误。 
    若测试时出现502 Bad Gateway,一般情况都是fastcgi_pass对应的模式设置错误。

    在配置后保存配置文件,在root对应的文件夹下建立测试文件,重启Nginx,尝试使用主机的IP访问。 
    建议先使用<?php phpinfo();?>进行测试,若不成功。。。请自习加油调整配置 
    Nginx的配置可以参考我的另一篇文章:http://blog.csdn.net/qq_36731677/article/details/77376140

    5.4.配置MySQL(MariaDB)

    我把我遇到的问题和解决方案都分条写在下面了,可有选择性的食用。

    • php连接mysql失败:安装php7.0-mysql插件,在mysql内分配正确的用户名和权限(请自行百度)。
    • shell登录mysql:mysql -u root -p默认无密码,直接回车。
    • 允许远程连接:在mysql内执行命令,参考UPDATE mysql.user SET host=% WHERE user=‘root‘;FLUSH PRIVILEGES;
    • 远程连接发生100061错误: 
      • 编辑my.ini文件(在MariaDB中为my.cnf,我的在/etc/mysql文件夹中,然后文件告诉我它直接引入了两个文件,淦)
      • 找到[mysqld]字段(不是[mysql]字段)(在MariaDB中需要在/etc/mysql/mariadb.conf.d文件夹中的50-server.cnf中找到)
      • 技术分享图片
      • 修改其中的bind-address为bind-address = 0.0.0.0
      • 保存并重启mysql服务后生效
      • 官方文档https://mariadb.com/kb/zh-cn/configuring-mariadb-for-remote-client-access/

    完结

    经过这一波折腾后,我的小型站点就可以在树莓派上运行了,感觉还是很美滋滋的。 
    过一段可能会考虑在树莓派上安装一个NAS服务,充分发掘其价值。

    树莓派使用apt-get安装配置Nginx+PHP7+MySQL(MariaDB)附带详细部分

    标签:software   路由器   php7.1   删除   tar   repr   编辑   站点信息   img   

    人气教程排行