前言:我們在搭建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.conf是最初的文件,后面的所有配置都是在這里include進來的
可以看到這個配置文件導入了mods-enabled蕴茴、conf-enabled、sites-enabled
等目錄下面的文件
- mods-enabled姐直、conf-enabled倦淀、sites-enabled
這三個目錄保存的信息分別是:
mods-enabled : 保存apache模塊的配置文件,我們上面用到的libapache2-mod-php的配置文件就保存在這個目錄下面
conf-enabled:一般用來保存apache自己的配置文件
sites-enabled:一般用來保存網(wǎng)站相關的配置文件声畏,比如url解析等信息
#此外還有一個mods-available/目錄
mods-available:這個目錄一般也是模塊配置信息
修改php后綴擴展名集合
由于我們這里使用的是libapache2-mod-php
模塊撞叽,而這個,模塊的配置文件在mods-available/
目錄下面:
將紅框中的那一行按照正則的方式去寫就可以解析其他的擴展名了插龄,而這樣的url請求過來的時候愿棋,會通過SetHandler application/x-httpd-php
轉發(fā)請求給php-fpm,這樣子就可以解析.phj后綴的文件了:
php-fpm配置文件解析
有時候在寫nginx的php fastcgi的端口為9000的時候發(fā)現(xiàn)沒有相應均牢,這個時候php-fpm并沒有在監(jiān)聽9000端口糠雨,那么我們這時候要怎么找到相關信息呢?
其實相關信息在/etc/php/7.0/fpm/pool.d/www.conf
徘跪,如下圖:
這里列出了幾種調用php-fpm fastcgi的方式甘邀,其中最常用的就是監(jiān)聽本地的9000端口,或者使用unix管道垮庐,當使用管道的時候鹃答,就可以使用類似以下的方式轉發(fā):
#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;
}