Nginx+php+fastcgi在win7下的配置

來源:互聯網
上載者:User

標籤:

首先裝載php1、從www.php.net上下載php對應版本2、解壓之後放到c盤下(其實放哪無所謂,Apache會有配置指向,但是Nginx不用)3、因為用的5.3.17版本,已經有了php-cgi.exe這個,不用做其他的事情所以開始更改php的配置,先把php.ini-development這個檔案更名為php.ini,也有的版本ini後面跟的是別的,都改成.ini4、開啟php.ini檔案,修改:配置:extension_dir = "這裡寫你的ext檔案夾路徑"     ;這個路徑是指向擴充庫的路徑upload_tmp_dir = "這裡寫你的上傳緩衝目錄"     ;上傳圖片之類的緩衝這裡session.save_path = "這裡寫你的session緩衝目錄"    ;這個是以檔案形式儲存sission,如果以資料庫儲存session則需要另外配置 開啟以下擴充:extension=php_curl.dllextension=php_gd2.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_pdo_mysql.dllextension=php_pdo_odbc.dllextension=php_pdo_sqlite.dllextension=php_xmlrpc.dll 定義所在時區(本人定義的是上海時區):date.timezone = Asia/Shanghai 由於Nginx要求cgi方式的php,還要修改以下配置enable_dl = Oncgi.force_redirect = 0cgi.fix_pathinfo=1fastcgi.impersonate = 1cgi.rfc2616_headers = 1    配置Nginx:1、從http://nginx.org上下載Nginx,總之從官網上下個,不管官網是不是改地址了,貌似1.3.7版本沒有分32位還是64位。2、解壓之後放c盤下(放別處應該也成,習慣了……)3、開啟conf,更改nginx.conf開啟log目錄:error_log logs/error.log;更改其他配置server {        listen       8080;#因為裝了Apache已經佔用了80介面        server_name  localhost;        charset utf-8;#預設檔案編碼        #charset koi8-r;         #access_log  logs/host.access.log  main;         location / {            root   d:/nginxWeb;#這裡改成你自己的虛擬目錄,注意!Nginx1.3.7及以下版本不支援檔案路徑中間有空格也不支援中文!!!這個以上的版本不知道會不會支援,不過這個以下是不支援的……雖然Apache支援啊……            index  index.html index.htm index.php;#注意這裡添加了index.php,如果沒有添加這個有可能報403錯誤,這個是win下的,linux或者其他系統是否會有此問題未知。autoindex on;#如果檔案不存在,列出分類樹結構        }        #error_page  404              /404.html;         # redirect server error pages to the static page /50x.html        #        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }         # proxy the PHP scripts to Apache listening on 127.0.0.1:80        #        #location ~ \.php$ {        #    proxy_pass   http://127.0.0.1;        #}         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #        location ~ \.php$ {            fastcgi_pass   127.0.0.1:9000;#fastcgi監聽的連接埠,與php的cgi啟動時指定的要一致            fastcgi_index  index.php;#預設首頁            fastcgi_param  SCRIPT_FILENAME  D:/nginxWeb$fastcgi_script_name;#啟動路徑,這裡只需要將“D:/nginxWeb”這部分改為你的安裝路徑就可以了            include        fastcgi_params;        }         # deny access to .htaccess files, if Apache‘s document root        # concurs with nginx‘s one        #        #location ~ /\.ht {        #    deny  all;        #}    } 運行:1、先要運行起php的cgi,由於本人用的win7系統,所以cmd先進的c盤(之前全扔c盤這就簡單了~),訪問到php路徑中,輸入php-cgi.exe -b 127.0.0.1:9000注意這裡的-b 127.0.0.1:9000是指定cgi的監聽連接埠,與上文中的Nginx配置要一致,如果有其他配置不記得之前php-cgi是那個連接埠,可以使用php-cgi.exe -h命令來查看配置(查看-b 後面的<address:port>)。想要查看所有被監聽的連接埠則輸入netstat -na 2、運行Nginx另開啟一個終端,訪問到nginx檔案夾下,輸入nginx.exe 保持兩個終端不關閉,訪問由瀏覽器訪問虛擬目錄下的檔案。  運行後自動關閉cmd的方法:1、下載RunHiddenConsole.exe(http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip)2、建立start_php.bat,來啟動php,檔案內容如下:@echo off
echo Starting PHP FastCGI...
RunHiddenConsole.exe d:\php\php-cgi.exe -b 127.0.0.1:9000 -c d:\php\php.ini3、建立stop_nginx.bat,來關閉php和nginx進程,檔案內容如下:@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit  相關問題:1、403錯誤:在nginx.conf中的index配置未加入index.php是導致403錯誤的其中一個原因2、cmd中運行Nginx.exe產生錯誤可能是Nginx的路徑中有中文、特殊符號、空格——雖然windows允許這樣命名,但是nginx會報錯(如之前吐槽的,Apache可以,為什麼Apache要把精力放在允許空格和中文作路徑上而不是改善其他的啊……費解),還有可能是Nginx的虛擬路徑中儲存了中文名稱的檔案,也可能導致nginx無法運行。3、Nginx可以運行並並且解析HTML但是無法解析PHP,這個時候要看php-cgi.exe是否起來了,還要看nginx.conf中的監聽連接埠和php-cgi的監聽連接埠是否一致,如同上文配置中寫到的,有很多方法查看。

Nginx+php+fastcgi在win7下的配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.