软件包版本
软件 | 版本 | - 链接 - |
---|---|---|
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