【nginx】Windows下的nginx+php7的搭建

關於php的搭建,此前在《【php】本地開發環境的部署與helloworld》(https://blog.csdn.net/yongh701/article/details/41789753)和《【php】在Windows2003下配置Apache2.4與php5.4》(https://blog.csdn.net/yongh701/article/details/47080057)都有說起到。一種是傻瓜式的安裝包,一種是在apache服務器上是搭建php。php也能夠直接利用Windows的iis服務器進行搭建,具體見《【php】在Windows2003下的IIS配置php5.4》(https://blog.csdn.net/yongh701/article/details/47083231)。惋惜這都是不太主流的php搭配方式。如今,應該說是老早以前,大部分比較專業的網站都已經用nginx去搭載php了。下面就直接用一個例子來講明如何在windows下如何用nginx去配置php。php

 

1、nginx和php的下載java

在下載nginx和php以前,先到微軟的官網(https://www.microsoft.com/en-us/download/details.aspx?id=48145)將vc15安裝了。要注意的是,你的電腦是32位系統仍是64位系統,是哪一個就安裝哪一個,我這的windows是64位的,因此這裏我下載了x64的。mysql

下載以後,獲得的vc_redist.x64.exe是一個連安裝目錄都不用你選,你也不該該選的一鍵傻瓜安裝文件。php7須要vc15運行庫才能運行,這也就是爲什麼win200三、winxp只支持到php5.4的緣由,由於php5.4開始就要vc9了,windows200三、xp只能支持到vc8了。linux

而後去下載nginx,其實nginx是個和iis、apache同樣,也就tomcat那意思的玩意。咱們首先要到他的官網(http://nginx.org/)下載nginx。進去以後選擇download,找到windows的穩定版。下載以後獲得了一個叫nginx-1.14.0.zip的東西。nginx

以後再去php的官網(http://www.php.net/),下載最新的php7。這裏是不是線程安全因爲咱們不是用iis版原本配php,因此沒所謂。不過要注意的是,你的電腦是32位系統仍是64位系統,我這的windows是64位的,因此這裏我下載了x64的php。下載以後獲得了一個叫php-7.2.5-Win32-VC15-x64.zip的東西。redis

 

2、nginx和php的配置sql

一、下載以後建議新建個文件夾,這裏,我叫PHP。這裏須要注意的是,儘量將這個文件夾放到一個沒有空格路徑的地方——雖然說即便有空格,大部分系統也就是在配置文件加個雙引號的事,但有小部分系統就是不認,尤爲原生在linux的nginx,你在windows配,對於路徑上的空格,在認知上就是不知會有些什麼事情,因此避免不知名的麻煩,仍是儘量避免路徑有英文。將nginx-1.14.0.zip和php-7.2.5-Win32-VC15-x64.zip分別解壓到這裏。再本身新建個文件夾叫WWW,這裏之後將是咱們存放php網站的地方。如圖。數據庫

再下載個1K大小的RunHiddenConsole(http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip),這是個幫助你一次性啓動兩個要掛載在命令行的程序玩意,用於將來同時啓動nginx和php。如圖點擊下載。apache

解壓RunHiddenConsole,建議放到和php、nginx相同的目錄。c:\php此時的目錄結構以下圖所示:windows

二、打開.\PHP\nginx-1.14.0\conf中的nginx.conf,這也是nginx的配置文件。

(1)首先將第39的編碼charset前的#去掉,並改爲utf-8編碼。也就是改爲charset "utf-8";

(2)再將65~71行前的#統統去掉,修改第44行和66行的root,參數修改爲咱們剛纔新建的,未來要用來放網站的目錄路徑,路徑記得要用雙引號「」括着。第69行的fastcgi_param,改爲SCRIPT_FILENAME  "用來放網站的目錄路徑"$fastcgi_script_name;。我這裏就是"C:\PHP\WWW";。

(3)以後,將第45行的index和第68行的fastcgi_index,改爲index.php。

以下圖所示,改完以後,保存退出。這樣,nginx就設置完了。

三、接下來再設置php,幾乎和以前的php設置同樣了。

(1)將php.ini-development複製一份並更名成php.ini。以後用記事本,最好用notepad之類的打開。

(2)搜索「extension_dir」,找到:extension_dir = "ext" 先去前面的分號再改成 extension_dir = "你的php目錄/ext",我這裏是extension_dir = "C:/PHP/php-7.2.5-Win32-VC15-x64/ext"。

搜索「enable_dl」,找到:enable_dl = Off 改成 enable_dl = On

搜索「cgi.force_redirect」,將cgi.force_redirect = 1 先去前面的分號再改成 cgi.force_redirect = 0

搜索「date.timezone」,找到:;date.timezone = ,先去前面的分號再改成 date.timezone = Asia/Shanghai

搜索「fastcgi.impersonate」,找到: ;fastcgi.impersonate = 1 ,去掉前面的分號

搜索「cgi.rfc2616_headers」,找到:;cgi.rfc2616_headers = 0 ,先去前面的分號再改成 cgi.rfc2616_headers = 1

以後找到:;extension=pdo_mysql和;extension=mysqli,去掉前面的分號「;」,用於支持MYSQL數據庫。Mysql數據庫這裏我就再也不贅述了,詳見《【Mysql】Mysql的安裝、部署與圖形化》(https://blog.csdn.net/yongh701/article/details/42648763)。這裏的extension,之後根據你的php需求能夠再本身去掉相應的分號;打開。

至此,php的配置完畢。

在剛纔咱們自行建立的WWW文件夾,新建一個utf-8編碼的index.php,內容就是經典的:

<?php
	phpinfo();
?>

四、由於nginx和php須要經過命令行來啓動,下面還要在windows系統配置命令行。

先將system32這個文件夾加入到系統變量再說,省得一下子有些命令提示:「不是內部命令」。具體和配java配php同樣了。「計算機」右鍵,屬性->高級系統設置->高級->環境變量,在下方的系統變量中找到Path->編輯,在原有的路徑上加個分號,添加上C:\Windows\System32。一路「肯定」便可。

以後,在RunHiddenConsole同目錄,寫個start.bat。具體以下:

:設置php和nginx的路徑
set php_home=C:\PHP\php-7.2.5-Win32-VC15-x64
set nginx_home=C:\PHP\nginx-1.14.0\
:啓動php和nginx
RunHiddenConsole %nginx_home%\nginx.exe -p %nginx_home%
RunHiddenConsole %php_home%\php-cgi.exe -b 127.0.0.1:9000 -c %php_home%\php.ini

而後再寫一個stop.bat:

taskkill /F /IM nginx.exe > nul 
taskkill /F /IM php-cgi.exe > nul  
exit

之後就能用start.bat啓動你的php網站,用stop.bat來關閉。

 

到此大功告成,最後點擊start.bat,打開一個瀏覽器,輸入http://localhost或者127.0.0.1,你就會見到以下的php.info頁面,證實佈置完成!

相關文章
相關標籤/搜索