1. 程式人生 > >轉:Windows 下 Nginx + PHP5 的安裝與配置

轉:Windows 下 Nginx + PHP5 的安裝與配置

Nginx 是一個輕量級的高效能 Http WebServer,以事件驅動方式編寫,因此相比 Apache 而言,Nginx 更加穩定、效能更好,而且配置簡單,資源佔用較低。以下是我在 Windows 7 安裝中 Nginx 和 PHP5.2 的步驟。

安裝 PHP5

首先,從 http://www.php.net/downloads.php 下載最新的 PHP5.2.9-2 Windows 版本,解壓至 C:\php5,把壓縮包中的 php.ini-recommended,更名為 php.ini,然後開啟修改幾個選項:

1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            
error_reporting = E_ALL
            display_errors = On
            extension_dir = "C:\php5\ext"
             
            ; 動態擴充套件,可以根據需要去掉 extension 前面的註釋 ; 
            ; 如載入 PDO, MySQL
            extension=php_pdo.dll
            extension=php_pdo_mysql.dll
             
            ; CGI 設定
cgi.force_redirect = 1 cgi.fix_pathinfo = 1 cgi.rfc2616_headers = 1

PHP 載入擴充套件需要注意依賴性,比如 php_exif.dll 需要 php_mbstring.dll,你必須要把 php_mbstring.dll 放在 php_exif.dll 前面才能載入成功。有些擴充套件依賴額外的 dll 檔案,如 PHP 5.0+ ,php_mysqli.dll 依賴 libmysql.dll,而 php_oci8.dll,你則需要安裝 Oracle 8 的客戶端。如果你對這些依賴性不是太瞭解,可以參考一下安裝包中的 install.txt 檔案。

依賴檔案的搜尋順序:首先是 php.exe 所在的目錄,如果是 ISAPI 模式,那麼會搜尋 Web Server 的啟動位置,比如 Apache 的 bin 目錄;其次是 Windows PATH 環境變數中的目錄。這裡不要複製任何檔案到 Windows 目錄中,有必要的話,可以把 C:\php5 加到 PATH 中,有利於以後 PHP 的升級。

安裝 Nginx

從 v0.7.52 開始,Nginx 開始釋出 Windows 版本的 Nginx,你可以在其官方網站上面下載:

http://nginx.net

如果需要老版本的 Nginx for Windows,可以在 Kevin Worthington 的網站上面找找。

我使用的是 0.7.55,下載好以後,解壓釋放檔案到 C:\nginx。

那麼如何配置 Nginx,使其可以和 PHP 協同工作?

配置 PHP FastCGI

Nginx 需要和 FastCGI Server 配合才能處理請求,有兩種方式執行 PHP FastCGI Server,一種就是使用 PHP 內建的 FastCGI 管理器:

1
                
c:/php5/php-cgi.exe -b 127.0.0.1:9000 -c c:/php5/php.ini

另外一種方式是使用第三方工具,比如 PHP-FPM 、cgi-fcgi 等。顯然!要在 Windows 中使用這些工具是件極其痛苦的事情,你可能需要 Cygwin 之類的東西才行,的確有人這麼做了,雖然我覺得那是自尋煩惱。

下一步,開始修改 Nginx 的配置檔案 C:\nginx\conf\nginx.conf,找到 php 相關的部分,修改如下:

1
                    2
                    3
                    4
                    5
                    
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
                    location ~ \.php$ {
                    root    d:/public_html;
                    include php.conf;
                    }

root 也就是 $document_root 指的是你的 php scripts 根目錄,設定為你的網站根目錄。在 Windows 下,需要注意的是 root 的路徑,最好使用 "/" 作為路徑分隔符,而不是 Windows 預設的 "\",否則容易出問題,比如,這個路徑:d:\public_html\test,就不會起作用,Nginx 會丟擲 500 錯誤,原因是 \test 中 \t 被解析為製表符。當然再加上一個反斜槓轉義也是可以的,如:d:\\public_html\\test。

php.conf 是我自己建立的用來儲存 php 配置的檔案,其實裡面只有 3 行命令:

1
                        2
                        3
                        4
                        5
                        6
                        
# 連線到本機 9000 埠,這裡的埠是指 PHP FastCGI Server 開啟的埠,
                        # 請與 php-cgi.exe 開啟的埠保持一致
                        # 當 Nginx 收到 php 檔案的請求時,會自動轉發到 PHP FastCGI Server
                        fastcgi_pass    127.0.0.1:9000;
                        fastcgi_index   index.php;
                        include         fastcgi_params;

之所以要建立一個獨立的 php.conf 儲存配置為了精簡 nginx.conf,當在 nginx 中配置多個虛擬主機時,每個虛擬主機都需要配置 php,那麼主配置檔案就會變得重複、臃腫。

除此以外,還需要修改一下 c:\nginx\conf\fastcgi_params 檔案,加入一行:

1
                            
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

並且修改 php.ini,設定 cgi.fix_pathinfo = 1,這非常重要,否則 PHP 將無法找到需要處理的 php 指令碼。

一些其他的設定,主伺服器:

1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                
# 預設開啟的程序數
                                worker_processes  1;
                                 
                                error_log  logs/error.log;
                                #error_log  logs/error.log  notice;
                                #error_log  logs/error.log  info;
                                 
                                #pid        logs/nginx.pid;
                                 
                                events {
                                # 一個程序所處理的最大連線數上限,
                                # 本地開發,不需要預設的 1024,這裡改為 64
                                worker_connections  64;
                                }

當某個目錄下面不存在預設 index.php index.html 等首頁檔案時,Nginx 會丟擲 403 ERROR,如果你需要羅列此目錄,則可以在 http {… } 中加入如下命令:

1
                                    2
                                    3
                                    
autoindex on;
                                    autoindex_exact_size on;
                                    autoindex_localtime on;

OK,整合到一起

建立 start_nginx.bat,用於同時啟動 PHP FastCGI 和 Nginx:

1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        
@echo off
                                        echo Starting PHP FastCGI...
                                        RunHiddenConsole c:/php5/php-cgi.exe -b 127.0.0.1:9000 -c c:/php5/php.ini
                                         
                                        echo Starting nginx...
                                        c:/nginx/nginx.exe

RunHiddenConsole.exe 是一個用來隱藏 DOS 視窗的小程式,可以在這裡下載。

start_nginx.bat 開啟後,也會有 DOS 視窗,但是可以安全的關掉,並不會關閉 Nginx 和 php-cgi.exe。

同樣 stop_nginx.bat,用來關閉:

1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            
@echo off
                                            echo Stopping nginx...
                                            taskkill /F /IM nginx.exe > nul
                                            echo Stopping PHP FastCGI...
                                            taskkill /F /IM php-cgi.exe > nul
                                            exit

到這裡基本配置完畢了。

相關推薦

Windows Nginx + PHP5安裝配置

Nginx 是一個輕量級的高效能 Http WebServer,以事件驅動方式編寫,因此相比 Apache 而言,Nginx 更加穩定、效能更好,而且配置簡單,資源佔用較低。以下是我在 Windows 7 安裝中 Nginx 和 PHP5.2 的步驟。 安裝 PHP5 首先,從 http://www.php.

WindowsNginx安裝配置

user nginx nginx ; Nginx使用者及組:使用者 組。window下不指定 worker_processes 8; 工作程序:數目。根據硬體調整,通常等於CPU數量或者2倍於CPU。 error_log  logs/error.log;   error_log  logs/error.

CentOS6.5 Nginx安裝配置

ffffff style 指定 this load() 應用 case 編譯 $? 昨天買了個服務器最近在配置一些基礎環境,想在訪問www.wzpbk.com:8080 不想要後面的:8080就能直接訪問到,聽說了Nginx就研究下給服務器裝上傳說中大名鼎鼎 Ng

一、WindowsGit的安裝配置

lan 版本說明 鎖定 檢出 圖形 客戶 ads 姓名 官方網站 一、下載Git安裝包   1、打開Git的官方網站:https://git-scm.com/   2、找到下載頁:https://git-scm.com/downloads   3、找到Windows版本下載

windowsMongoDB的安裝配置

首先需要進入官網: 下載連結:https://www.mongodb.com/download-center?jmp=nav#community 下載下來之後就是下一步---》》下一步的事了,(在這中間有一步是讓是否把mongodb加入到服務中去)windwos比較好的一點就是他會幫你配置好

windowsAnaconda的安裝配置正解

一、下載anaconda 第一步當然是下載anaconda了,官方網站的下載需要用迅雷才能快點,或者直接到清華大學映象站下載。 清華大學提供了映象,從這個映象下載速度很快,地址: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 選擇相應的版本進行

windowsspark的安裝配置教程

一、安裝Scala  下載地址:http://www.scala-lang.org/download/all.html 進入頁面後選擇一個Scala版本進行下載,我選擇的是Scala2.12.0版本。特別注意的是看帖子又的說Scala版本與Spark版本之間是有一定關聯

Linuxnginx安裝配置

1.安裝gcc 安裝redis需要先將官方下載的原始碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,則需要安裝。 檢視gcc版本 gcc -v 如果未安裝gcc,提示gcc 命令未找到,則需安裝gcc。執行以下命令來完成gcc安裝。 yum -y install

WindowsMaven的安裝配置

Maven的安裝 (1)下載安裝包:首先在官網[url]http://maven.apache.org/download.html[/url]上下載安裝包,我下載的是最新的maven3.5.0版本  (2)設定環境變數:將安裝解壓到D:\Program Files\apache-mav

Windows用Tomcat安裝配置jenkins

Windows下用Tomcat安裝與配置jenkins2、將下載後的Tomcat解壓到某個盤中,我的解壓到D:\Tomcat3、配置Tomcat環境變數,新建一個TOMCAT_HOME,值為D:\Tomcat\apache-tomcat-8.5.31如圖 4、新建一個CATA

Win7Nginx安裝配置,win7nginx配置

https://jingyan.baidu.com/article/6f2f55a1a112cdb5b83e6c62.html 1. 下載nginx1.8.0版本: http://nginx.org/download/nginx-1.8.0.zip 2.

Win7Nginx安裝配置

環境介紹:Win7 64位SP1 Nginx版本:nginx/1.8.0 參考連結http://nginx.org/en/docs/windows.html 1.  下載nginx1.8.0版本: http://nginx.org/download/nginx-1.8.0.

Windowsgit的安裝配置

二、Git之安裝 1、點選安裝包git.exe,預設安裝即可; 2、在安裝過程中有一步驟需要注意,在此說明:       在設定path時,選擇第二項,這樣安裝git成功後,環境變數中便會有git的path配置,無需再手動配置,安裝完成後,便可以在cmd中直接輸入命令,檢視git是否安裝成功; 三、Git

ThinkPHP學習(一) WindowsNginx+PHP5+ThinkPHP 3 2 1的安裝配置

                工具原料:Nginx153:網盤下載地址:http://pan.baidu.com/s/1qWNgLf2php-5.3.28-nts-Win32-VC9-x86網盤下載地址:http://pan.baidu.com/s/1pdukYThinkPHP_3.2.1網盤下載地址:ht

Windows Nginx + PHP5安裝配置

本文轉自:http://www.phpvim.net/web/php/installing-nginx-with-php5-on-windows.html Nginx 是一個輕量級的高效能 Http WebServer,以事件驅動方式編寫,因此相比 Apache 而言,N

windows安裝python的C擴展編譯環境(解決“Unable to find vcvarsall.bat”

鏈接 ros link mman ipy nload whl 包名 好的 個人文章除註明轉載外,均為個人原創或者翻譯。 個人文章歡迎各種形式的轉載,但請18歲以上的轉載者註明文章出處,尊重我的勞動,也尊重你的智商; 本文鏈接:http://www.cnblogs.com/

windowsnginx安裝及使用方法入門

訪問 是否 啟動 遇到 clas 自帶 .org spa pos nginx功能之一可以啟動一個本地服務器,通過配置server_name和root目錄等來訪問目標文件 一. 下載 http://nginx.org/ 下載後解壓 二. 修改配置文件 nginx配置

WindowsJDK的安裝環境變數的配置教程(附詳細圖解)

JDK安裝配置教程 一、下載jdk 1.首先要確定自己電腦的作業系統是多少位的: 右鍵“我的電腦”>>選擇“屬性”>>系統型別(如下圖,我的是win7 64位) 2.然後到官網下載適合自己電腦版本的jdk。 官網連結:http://www.oracle.

WindowsMySQL下載安裝配置使用

一、下載 下載頁面http://dev.mysql.com/downloads/mysql/ 選擇系統平臺後,點選download(根據系統選擇64或32位)     二、配置 1、下載成功後,解壓安裝包到要安裝的位置,我是安裝在”D:\Progra

Windows的Python安裝環境變量的配置

pan 命令 p s 雙擊 targe 點擊 color exe path Windows下的Python安裝與環境變量的配置 第一步:python下載:   Python安裝包下載地址:http://www.python.org/      第二步