Windows + Nginx + PHP + MySQL 安装
Nginx1.10.3 下载地址: http://nginx.org/en/download.html 下载windows版本包
PHP 7.1.16 下载地址:http://windows.php.net/download/ 下载Non Thread Safe版本 还需下载对应的vc_redist
MySQL 5.7.17 下载地址 :http://www.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-winx64.zip
配置环境变量
在环境变量Path里面增加MySQL、Nginx、PHP执行文件的路径:
;C:\mysql\bin;C:\nginx-1.10.3;C:\php;
配置MySQL
复制my-default.ini文件,并重命名为my.ini
再打开my.ini,取消basedir和datadir前的注释,并指定具体路径:
basedir = "C:/mysql" datadir = "C:/mysql/data" 再添加两行 default_password_lifetime=0 设置密码永不失效 validate_password=OFF 关闭validate password plugin插件(密码强度)
以管理员身份打开一个DOS窗口,切换到bin目录(必须)
> cd d:\wnmp\mysql-5.7.17-winx64\bin # 切换到bin目录 > mysqld -install # 安装MySQL服务 > mysqld --initialize --user=root --console # 初始化MySQL,生成data目录和root密码,5.7版本之后必须要有这个命令
最后那条命令会生成一个临时密码,如下:
[Note] A temporary password is generated for root@localhost: xxxxx
再启动MySQL:
> net start mysql 进入mysql更改密码 > update mysql.user set authentication_string=password('newPass') where user='root' ; 或 > SET PASSWORD = PASSWORD('your new password'); > ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; > flush privileges;
配置Nginx
Nginx解压其实就完成了安装,进入Nginx目录,启动nginx
> start nginx 启动后,浏览器访问localhost,能看到Welcome to nginx!欢迎信息就说明成功了。 然后修改nginx.conf 首先,在location / 区域,index变量加上index.php作为首选默认首页,如下: location / { root html; index index.php index.html index.htm; } 再删除下面的注释,并更改/scripts为$document_root: 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; }
配置PHP
复制一份php目录下的php.ini-development文件,将复制的文件名改为php.ini,打开并作如下修改:
找到; extension_dir = "ext" ,去掉前面的分号,再改为 extension_dir = "c:\php\ext"
找到;date.timezone = ,去掉前面的分号,再改为date.timezone = Asia/Shanghai
找到;cgi.force_redirect = 1,去掉前面的分号,再改为cgi.force_redirect = 0
找到;cgi.rfc2616_headers = 0,去掉前面的分号,再改为 cgi.rfc2616_headers = 1
找到enable_dl = Off,改为 enable_dl = On
找到;fastcgi.impersonate = 1,去掉前面的分号
找到;extension=php_curl.dll,去掉前面的分号
找到;extension=php_gd2.dll,去掉前面的分号
找到;extension=php_mbstring.dll,去掉前面的分号
找到;extension=php_mysqli.dll,去掉前面的分号
找到;extension=php_pdo_mysql.dll,去掉前面的分号
其他配置按照自己的需求更改。
启动php
> php-cgi.exe -b 127.0.0.1:9000 -c php.ini
制作启动脚本 RunHiddenConsole
start_nginx.bat @echo off REM set PHP_FCGI_CHILDREN=5 set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI… RunHiddenConsole c:/php/php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.ini echo Starting nginx… RunHiddenConsole c:/nginx-1.10.3/nginx.exe -p c:/nginx-1.10.3 stop_nginx.bat @echo off echo Stopping nginx… taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI… taskkill /F /IM php-cgi.exe > nul exit