軟件包版本
軟件 | 版本 | - 鏈接 - |
---|---|---|
Nginx | nginx-x32-1.10.2.zip | 下載 |
PHP | php-7.0.12-nts-Win32-VC14-x64 | 下載 |
Redis | php_redis-20160319-nts-vc14-x64.zip | 下載 |
RunHiddenConsole.exe | 在windows后台運行cmd命令的小程序 | 搜索 |
XXFPM.exe | 實現PHP-FASTCGI協議的XXFPM程序 | 下載 |
配置
Nginx 配置
備份並編輯nginx/conf/nginx.conf -> 去除所有注釋 -> 添加替換以下配置
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Redis
將下載后的 redis.dll 放置於 php/ext 下
PHP
php/php.ini 配置
// 1. 去掉 # extension_dir = "ext" 注釋, 或更改動態庫路徑
;extension_dir = "ext" 先去前面的分號再改為 extension_dir = "C:\wnmp\php\ext"
// 2. 開啟Dynamic Module 下需要的 Extension, 並添加
extension = php_redis.dll
// 3. 設置 time_zone
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
編寫通過 RunHiddenConsole 后台運行的bat腳本
REM Start.bat 啟動服務腳本
@ECHO OFF
CD c:\users\???\desktop\webserver\
ECHO Starting PHP FastCGI...
REM RunHiddenConsole.exe php7\php-cgi.exe -b 127.0.0.1:9000 -c php7\php.ini
RunHiddenConsole.exe xxfpm\bin\xxfpm.exe "php7\php-cgi.exe -c php7\php.ini" -n 8 -i 127.0.0.1 -p 9000
ECHO Starting nginx...
RunHiddenConsole.exe nginx\nginx.exe -p nginx
PAUSE
REM Stop.bat 關閉服務腳本
@ECHO OFF
ECHO Stopping nginx...
taskkill /F /IM nginx.exe > nul
ECHO Stopping PHP FastCGI...
taskkill /F /IM xxfpm.exe > nul
REM taskkill /F /IM php-cgi.exe > nul
EXIT
PHP-FPM 如何實現?
先了解一下為什么要用這個東西 php-cgi 和 fastcgi 與 php-fpm 三者之間的關系
看完以后還不知道怎么配的請留言, 比較懶不想寫那么多了, 會的自然會
注意事項
- php 和 nginx 服務需要先后一起開啟
- 啟用 redis 擴展時需要配置 extension_dir