1. 程式人生 > >Unix系統下安裝PHP+Nginx

Unix系統下安裝PHP+Nginx

網上關於如何在Unix/Linux系統下安裝Nginx+PHP的文章很多,但是差異非常的大,我嘗試了好幾篇文章都不行。後來才發現其實在PHP的documentation裡就很詳細地說明了如何使用 PHP-FPM 為 Nginx 1.4.x HTTP 伺服器安裝和配置 PHP,地址在這:http://php.net/manual/zh/install.unix.nginx.php

Unix 系統下的 Nginx 1.4.x

本文件包括使用 PHP-FPM 為 Nginx 1.4.x HTTP 伺服器安裝和配置 PHP 的說明和提示。

本指南假定您已經從原始碼成功構建 Nginx,並且其二進位制檔案和配置檔案都位於 /usr/local/nginx

。 如果您使用其他方式獲取的 Nginx,請參考 » Nginx Wiki 並對照本文件完成安裝。

本文件僅包含 Nginx 伺服器的基本配置,它將通過 80 埠提供 PHP 應用的處理能力。 如果您需要超出本文件範圍的安裝配置指導,建議您查閱 Nginx 和 PHP-FPM 的文件。

需要注意的是,本文件一律使用 'x' 來表示版本號,請根據實際情況將 'x' 替換為對應的版本號。

  1. 建議您訪問 Nginx Wiki » 安裝 頁面以獲取並在您的系統上安裝 Nginx。

  2. 獲取並解壓 PHP 原始碼:

    tar zxf php-x.x.x
    
  3. 配置並構建 PHP。在此步驟您可以使用很多選項自定義 PHP,例如啟用某些擴充套件等。 執行 ./configure --help 命令來獲得完整的可用選項清單。 在本示例中,我們僅進行包含 PHP-FPM 和 MySQL 支援的簡單配置。

    cd ../php-x.x.x
    ./configure --enable-fpm --with-mysql
    make
    sudo make install
    
  4. 建立配置檔案,並將其複製到正確的位置。

    cp php.ini-development /usr/local/php/php.ini
    cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
    cp sapi/fpm/php-fpm /usr/local/bin
    
  5. 需要著重提醒的是,如果檔案不存在,則阻止 Nginx 將請求傳送到後端的 PHP-FPM 模組, 以避免遭受惡意指令碼注入的攻擊。

    開啟 php.ini:

    vim /usr/local/php/php.ini
    

    定位到 cgi.fix_pathinfo= 並將其修改為如下所示:

    cgi.fix_pathinfo=0
    
  6. 在啟動服務之前,需要修改 php-fpm.conf 配置檔案,確保 php-fpm 模組使用 www-data 使用者和 www-data 使用者組的身份執行。

    vim /usr/local/etc/php-fpm.conf
    

    找到以下內容並修改:

    ; Unix user/group of processes
    ; Note: The user is mandatory. If the group is not set, the default user's group
    ;       will be used.
    user = www-data
    group = www-data
    

    然後啟動 php-fpm 服務:

    /usr/local/bin/php-fpm
    

    本文件未涵蓋對 php-fpm 進行進一步配置的資訊,如果您需要更多資訊,請查閱相關文件。

  7. 配置 Nginx 使其支援 PHP 應用:

    vim /usr/local/nginx/conf/nginx.conf
    

    修改預設的 location 塊,使其支援 .php 檔案:

    location / {
        root   html;
        index  index.php index.html index.htm;
    }

    下一步配置來保證對於 .php 檔案的請求將被傳送到後端的 PHP-FPM 模組, 取消預設的 PHP 配置塊的註釋,並修改為下面的內容:

    location ~* \.php$ {
        fastcgi_index   index.php;
        fastcgi_pass    127.0.0.1:9000;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }

    重啟 Nginx。

    sudo /usr/local/nginx/sbin/nginx -s stop
    sudo /usr/local/nginx/sbin/nginx
    
  8. 建立測試檔案。

    rm /usr/local/nginx/html/index.html
    echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
    

    開啟瀏覽器,訪問 http://localhost,將會顯示 phpinfo() 。

通過以上步驟的配置,Nginx 伺服器現在可以以 SAPI 模組的方式支援 PHP 應用了。 請在對應的原始碼目錄執行 ./configure --help 來查閱更多配置選項。


相關推薦

Unix系統安裝PHP+Nginx

網上關於如何在Unix/Linux系統下安裝Nginx+PHP的文章很多,但是差異非常的大,我嘗試了好幾篇文章都不行。後來才發現其實在PHP的documentation裡就很詳細地說明了如何使用 PHP-FPM 為 Nginx 1.4.x HTTP 伺服器安裝和配置 PHP

centos7系統安裝php-fpm並配置nginx支援並開啟網站gzip壓縮

注:此處不介紹nginx的安裝。以下教程預設已安裝nginx。 1. yum install -y php-fpm yum install php-pdo yum install php-mysql yum安裝預設版本是php5.4,要使用更高版本可使用yum search all

centos7安裝php+nginx日常筆記

    由於之前的開發環境比較亂,自己大部分時間放在寫程式碼上,基礎環境的搭建過程在記憶中變得模糊,現在開始把安裝過程記錄下。之前一直在contos6.x下面搞東西,貌似6已經停止更新,所以跟上潮流在contos7上安裝。    1.安裝centos7      我從ce

ubuntu 14.04LTS 系統安裝nginx+php

nginx原始碼安裝 說明:使用nginx原始碼編譯的方式安裝時,需要先安裝nginx的依賴庫pcre、zlib、oppenssl。 官網下載地址 http://nginx.org/en/download.html $ wget http://nginx.org/download/nginx-1

一鍵安裝Linux/CentOS/Aliyun等等系統Apache/Mysql/Nginx/PHP/Tomcat/Redis/JDK等元件環境

一.LNMP(偏PHP 包含Nginx/MySQL/PHP/Apache等) 1. 一鍵安裝命令環境     yum -y install wget screen 2. 下載lnmp並執行相關安裝命令(以下命令尾部./install.sh lnmp是安裝包

mac安裝配置nginxphp環境

服務 端口 通過 etc 安裝 set cnblogs fast ocr 1、安裝nginx 在mac系統下我們使用brew來安裝nginx,使用brew來安裝,它會自動安裝相應的依賴庫。 brew install nginx 在安裝完畢後,終端會輸出配置信息: Doc

Linux安裝PHP並在nginx服務器中進行配置的詳細方法

devel direct emca red pca pic 占用 amp entos 先介紹一下使用的環境:centos 7.4,  PHP 7.0 ,  nginx 1.12 Linux系統版本可以通過命令:lsb_release -a 查看. 現在開始步入正題了! 1.

ubuntu 14.04LTS 系統安裝nginx

  nginx原始碼安裝 說明:使用nginx原始碼編譯的方式安裝時,需要先安裝nginx的依賴庫pcre、zlib、oppenssl。 官網下載地址 http://nginx.org/en/download.html $ wget http://nginx.org/download

Linux安裝php,並配置到nginx【最終版,完美解決問題】

1、 下載         libxml2-2.6.32.tar.gz  http://download.csdn.net/detail/netlong339/1351852        php-5

ubantu安裝配置 nginx,mysql, php可能遇到的問題及對策

安裝nginxnginx歷史版本下載(1.4.2):http://nginx.org/download/1,安裝:zlib1g-devapt-get install zlib1g-dev2,安裝pcre : apt-get install libpcre3 libpcre3-

Linux系統安裝nginx服務

必要軟體環境 #yum install wget 因為Nginx以來與gcc的編譯環境,所以,在mini centos中需要安裝編譯環境來使Nginx能夠編譯起來。 #yum install gcc-

Linux安裝配置Nginx以及安裝PHP

1.編譯安裝Nginx 需要先安裝兩個庫 # yum -y install openssl openssl-devel 然後下載,編譯Nginx # wget http://nginx.org/download/nginx-1.8.0.tar.gz (這

Linux安裝php環境並且配置Nginx支援php-fpm模組

  以下以CentOS 7.2為例,安裝php的執行環境,首先開啟php官網http://php.net/點選導航欄的Downloads進入下載頁面:http://php.net/downloads.php   這裡下載最新版的php 7.0.5 的原始碼包:   

Windows 系統安裝 dig 命令

通過 mat info span dns查詢 ber 環境變量 none class dig是一個Linux下用來DNS查詢信息的小工具,dig全稱是Domain Information Groper,與nslookup類似,但比nslookup功能更強大。Windows只

Linux安裝PHP的lua擴展庫

directory http ash make try 不安裝 .net ges 執行 一、安裝Lua 5.3.4 下載 http://www.lua.org/ftp/lua-5.3.4.tar.gz tar xvf lua-5.3.4.tar.gz cd lua

Centos安裝php擴展sphinx

問題 for strings () form let rect orm 必須 官方地址:http://pecl.php.net/package/sphinx wget http://pecl.php.net/get/sphinx-1.3.3.tgz tar -zxvf sp

Linux系統安裝Mysql5.7.18教程收集分享

最後一行 sdn 作者 tails lin 分享 使用 心態 html 本人最近服務器新手入門,需要搭建一個在linux虛擬機上的服務器 第一天再裝虛擬機,選的linux系統CentOS,一切順利。 第二天,要給虛擬機裝Mysql,但是需要用到命令行進行安裝/操作等,我是一

Mac系統安裝ipython分別支持python2和python3

python cnblogs rip fff tro -c 我們 usr sta 操作系統:Mac10.11.5 python2.7.13 python3.6.1 安裝python2: brew install python 安裝python3: brew in

在linux系統安裝redis

官網 linu .tar.gz foo pre set inux linux系統 nbsp 去官網找到合適的版本,可以直接下載下來,再用fxp上傳,也可以直接以下面這種方式下載:$ wget http://download.redis.io/releases/redis-3

Redis(二)-Win系統安裝

ech uno run clas lan hub .com red content 下載地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。這個需要根據你系統平臺的實際情況選擇,這裏我們下