[apache2 php-fpm] web配置文件解析

前言:我们在搭建apache2 + php-fpm的web服务器的时候,常常会使用apache2的模块功能来配置,这样对新手来说就可以不需要专门地学习apache2的配置文件怎么写,却能很快搭建起一个web服务。

[ubuntu + apache2 + php ]web服务搭建

apt-get install apache2

#安装php7支持
apt-get install php
apt-get -y install php7.0-fpm php-mysql

#由于apache2 可能不能正常解析php7.0,因此需要安装PHP针对于apache的模块

apt-get install php libapache2-mod-php

apache2配置文件目录解析

[apache2 php-fpm] web配置文件解析_第1张图片
apache2配置文件目录
  1. apache2.conf是最初的文件,后面的所有配置都是在这里include进来的


    [apache2 php-fpm] web配置文件解析_第2张图片
    image.png

    [apache2 php-fpm] web配置文件解析_第3张图片
    image.png

可以看到这个配置文件导入了mods-enabled、conf-enabled、sites-enabled等目录下面的文件

  1. mods-enabled、conf-enabled、sites-enabled
    这三个目录保存的信息分别是:
mods-enabled : 保存apache模块的配置文件,我们上面用到的libapache2-mod-php的配置文件就保存在这个目录下面
conf-enabled:一般用来保存apache自己的配置文件
sites-enabled:一般用来保存网站相关的配置文件,比如url解析等信息
#此外还有一个mods-available/目录
mods-available:这个目录一般也是模块配置信息

修改php后缀扩展名集合

由于我们这里使用的是libapache2-mod-php模块,而这个,模块的配置文件在mods-available/目录下面:

[apache2 php-fpm] web配置文件解析_第4张图片
修改web服务器解析的php扩展名集合

将红框中的那一行按照正则的方式去写就可以解析其他的扩展名了,而这样的url请求过来的时候,会通过SetHandler application/x-httpd-php转发请求给php-fpm,这样子就可以解析.phj后缀的文件了:

[apache2 php-fpm] web配置文件解析_第5张图片
image.png

php-fpm配置文件解析

有时候在写nginx的php fastcgi的端口为9000的时候发现没有相应,这个时候php-fpm并没有在监听9000端口,那么我们这时候要怎么找到相关信息呢?
其实相关信息在/etc/php/7.0/fpm/pool.d/www.conf,如下图:

[apache2 php-fpm] web配置文件解析_第6张图片
image.png

这里列出了几种调用php-fpm fastcgi的方式,其中最常用的就是监听本地的9000端口,或者使用unix管道,当使用管道的时候,就可以使用类似以下的方式转发:

#nginx.conf
location ~ \.php$ {
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

你可能感兴趣的:([apache2 php-fpm] web配置文件解析)