一:準備nginx和php安裝包
nginx-1.18.0下載地址:http://nginx.org/en/download.html
php7.4.6下載地址:https://windows.php.net/download/
二:Nginx 安裝
1. 準備一個目錄, 我這裏是C:\nginx(這裏nginx目錄下主要是爲了以後方便拓展多版本的Nginx服務)
2. 運行該文件夾(nginx-1.18.0)下的nginx.exe
3.測試是否啓動nginx。打開瀏覽器訪問http://localhost 或 http://127.0.0.1,看看是否出現“Welcome to nginx!”,出現的證明已經啓動成功了。沒有啓動的話,看看80端口有佔用沒。
注意:該網站的默認目錄在C:\nginx\nginx-1.18.0\html
三、PHP安裝
nginx配置文件是conf文件夾裏的nginx.conf
1. 創建一個PHP目錄 C:\nginx\php7
2. 修改大概第43~45行之間的
location / {
root C:/myprograms/nginx/www;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
修改網站文件的路徑,以及添加index.php的默認頁,並配置單一入口文件解析。
3. 支持php的設置
修改大概在第63-71行的
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
先將前面的“#”去掉,同樣將root html;改爲root C:/nginx/www;; 再把“/scripts”改爲“$document_root”,這裏的“$document_root”就是指前面“root”所指的站點路徑,這是改完後的。
四、修改C:\nginx\php7目錄下的php.ini-development。
將php.ini-development複製並修改爲php.ini
搜索“extension_dir”,找到: e;xtension_dir = "ext" 先去前面的分號再改爲 extension_dir = "C:\wnmp\php\ext"
搜索“date.timezone”,找到:;date.timezone = 先去前面的分號再改爲 date.timezone = Asia/Shanghai
搜索“enable_dl”,找到:enable_dl = Off 改爲 enable_dl = On
搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分號再改爲 cgi.force_redirect = 0
搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分號
搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分號再改爲 cgi.rfc2616_headers = 1
搜索“php_mysql”,找到:”extension=pdo_mysql和extension=mysqli 去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll (支持MYSQL數據庫)
五、啓動
1. 在進程裏刪除 Nginx 然後 重新啓動
2. php-cgi.exe -b 127.0.0.1:9000-c
在www目錄下建立phpinfo.php文件,並寫入
<?php
phpinfo();
?>
phpinfo() 測試一下:
六、將Nginx 和 PHP 設置爲服務啓動
發現沒有,如果每次都要這樣啓動 Nginx 和 PHP 是相當麻煩的,接下來我們將其設置爲服務啓動
1. 下載 RunHiddenConsole 下載地址:https://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip
2. star.bat 啓動
@echo off
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5
REM 每個進程處理的最大請求數,或設置爲 Windows 環境變量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
C:/nginx/nginx-1.18.0/RunHiddenConsole "C:/nginx/php7/php-cgi.exe" -b 127.0.0.1:9000 -c "C:/nginx/php7/php.ini"
echo Starting nginx...
C:/nginx/nginx-1.18.0/RunHiddenConsole "C:/nginx/nginx-1.18.0/nginx.exe" -p "C:/nginx/nginx-1.18.0/"
引號內的改爲自己的文件地址
3. stop.bat 停止
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
到此Nginx 和 PHP 已經安裝完畢了,可以訪問www目錄下的所有靜態網站項目