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~