歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux 下安裝nginx php7

linux 下安裝nginx php7

日期:2017/8/19 9:49:13   编辑:關於Linux

在安裝前,先了解下nginx和php之間的關系
nginx就像個傳話官,把請求轉發給php-fpm。這就需要知道php-fpm的聯系方式, listen的值就是php-fpm的電話號。
當請求來的時候,nginx就給php-fpm打電話,說有個人找你,php-fpm就派個人出來接客人,派出的這個人呢,就是一個php進程。
看到這裡相信聰明的你就明白了,php-fpm是負責管理調度php進程的。

言歸正傳開始配置

因為是個人電腦也就來個簡單的直接使用apt命令了

sudo install nginx
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom

多裝點php模塊沒壞處,省的到時候報錯,後面如果缺少組件還可以繼續安裝,很方便。
如果是下載的源碼包自己編譯,就比較麻煩了,需要先安裝一些以來的類庫。
這裡一切從簡,主要是介紹nginx與php7是如何配合工作的。
執行上面兩條命令後,軟件就大功告成了。
首先我們先看一下php-fpm的配置/etc/php/7.0/fpm/pool.d/www.conf(如果是centos或編譯安裝,配置文件的地址會有所不同),在配置文件中找到

listen=/run/php/php7.0-fpm.sock
#也有可能是
listen=127.0.01:9000

不管是什麼反正你記住listen=什麼,這個很重要,這說明fpm在監聽什麼
下面看nginx的配置/etc/nginx/sites-enabled/default,(如果是centos或編譯安裝,配置文件的地址會有所不同),在配置文件中找到server{},這個代表你的虛擬主機。在其中找到

location ~ \.php$ {
 include snippets/fastcgi-php.conf;

 # With php7.0-cgi alone:
 # fastcgi_pass 127.0.0.1:9000;
 # With php7.0-fpm:
 fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 }

看到fastcgi_pass了嗎,這個代表將請求轉交給誰。給誰呢?沒錯聰明的你一定明白了,就是上面我們在php-fpm中監聽的那個。
如果php-fpm中是listen=/run/php/php7.0-fpm.sock
那麼nginx中要使用fastcgi_pass unix:/run/php/php7.0-fpm.sock;
如果php-fpm中是listen=127.0.01:9000
那麼nginx中要使用fastcgi_pass 127.0.0.1:9000;

Copyright © Linux教程網 All Rights Reserved