1. 程式人生 > >linux中nginx掛載php-fpm

linux中nginx掛載php-fpm

1、nginx和php-fpm的關係

這裡要明確nginx和php-fpm的關係和工作原理,nginx是一個HTTP伺服器,但是它預設解析的是html和htm檔案,不會解析php檔案,而php-fpm,不要說得太複雜,就知道它用來解析php的就好了,但是我們訪問的是nginx上的php檔案,這時需要讓nginx把php相關東西轉發給php-fpm,php-fpm解析完後返回給nginx顯示出來。

這裡nginx的安裝目錄是/usr/local/nginx,在瀏覽器開啟localhost,顯示nginx的歡迎頁。

2、php-fpm的安裝

sudo apt-get install php5-fpm


安裝成功


支援的命令


3、nginx掛載php-fpm

這個歡迎頁的位置實際上就是/usr/local/nginx/html/index.html,我們在這個目錄下建立index.php,內容為:

<?php
    phpinfo();
?>

這時開啟localhost/index.php,顯示報錯

說明訪問的php檔案並沒有被nginx轉發給php-fpm解析。這時需要完成兩件事,先配置nginx,一般php-fpm的預設監聽埠是9000,需要把php檔案轉發給本地9000埠,在nginx.conf(位置為/usr/local/nginx/conf/nginx.conf)中增加配置如下:

接著開啟,發現還是報錯,這時要考慮一下是不是php-fpm的問題了,它可能監聽的不是預設的9000埠,

開啟/etc/php5/fpm/pool.d/www.conf,發現果然不是9000

將其改為listen = 9000

過載php5-fpm服務

        

開啟localhost/index.php


發現一片空白,但起碼發現我們監聽埠改對了,只是解析顯示的時候除了點問題。將index.php的內容改一下


發現還是空白?在網上搜了一下,果然有人出現這種情況,還是需要修改nginx.conf檔案,增加這一行

再開啟localhost/info.php,內容為<?php phpinfo(); ?>

終於成功了!!!O(∩_∩)O~