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

时间:2018-10-09 17:32:00   收藏:0   阅读:246

连接

 

0.环境说明

1.配置系统

2.安装Nginx

我使用的镜像竟然预装了Apache2,我都怀疑我用的是不是lite版。可能是我没什么见识吧。我不喜欢用这个,所以我将其完整删除了。参考shell如下:

  1.  
    apt-get remove --purge apache* -y
  2.  
    apt-get autoremove --purge -y

安装Nginx参考shell如下:

apt-get install nginx

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

4.安装MySQL(MariaDB)

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

apt-get install mysql-server mysql-client

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

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

找到参数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;

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

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

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

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

注意!!注意!! 
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)

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

完结

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

原文:https://www.cnblogs.com/ZHENGJUNupperclassman/p/9761586.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!