Nginx 在 Web Server 領域有著極為優異的表現, 如果搭配 PHP-FPM 可以讓網站的速度更上一層樓, 本篇文章將與各位分享如何在 Debian 8 上安裝 Nginx 與 PHP-FPM
環境資訊
Debian 8 (Jessie) 請注意OS版本, 本文針對 Debian 8 做說明
Nginx 1.6.2
PHP 7.0
安裝 nginx
sudo apt-get install nginx -y
安裝 PHP7-FPM
本文章為濃縮版, 指令細節可以參考 在 Debian 8 (Jessie) 上安裝 Apache + PHP 7
echo "deb http://mirrors.teraren.com/dotdeb/ stable all" | sudo tee --append /etc/apt/sources.list
echo "deb-src http://mirrors.teraren.com/dotdeb/ stable all" | sudo tee --append /etc/apt/sources.list
wget -qO - https://www.dotdeb.org/dotdeb.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install php7.0-fpm php7.0-common -y
sudo apt-get install php7.0-zip php7.0-mysql php7.0-mcrypt php7.0-mbstring php7.0-json php7.0-imagick php7.0-gmp php7.0-curl php7.0-dom php7.0-gd -y
調整 PHP-FPM 設定
我們必須調整 php 的設定, 使得 php 更加安全
sudo vim /etc/php/7.0/fpm/php.ini
將本來由 ;註解掉的設定
;cgi.fix_pathinfo=1
修改為
cgi.fix_pathinfo=0
重新啟動 PHP-FPM
sudo systemctl restart php7.0-fpm
連接 Nginx 與 PHP
sudo vim /etc/nginx/sites-available/default
將下方設定檔寫入其中
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.php index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
重新啟動 Nginx
sudo systemctl restart nginx
測試
將測試用檔案寫入 Nginx 預設目錄
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php
打開瀏覽器前往 http://你的IP/info.php
當你看到這個畫面就代表PHP成功運行, 紅框的部分顯示 FPM/FastCGI 代表我們的 PHP 確實是使用 PHP-FPM 模式運行
由於 phpinfo 會透露很多詳細資訊, 為了安全起見, 欣賞完畢要順手把 info.php 刪除
sudo rm /var/www/html/info.php