安装 WNMP 环境

1. MySQL安装

  1. 下载:下载地址
  2. 解压至文件夹:D:\env\mysql-8.0.16
  3. 命令行进入bin目录,初始化数据库:mysqld --initialize --console
  4. 注意控制台输出的信息,MySQL 的初始密码会被输出在控制台中,形如:root@localhost: jkeDoHgY0<fR
  5. 注册 MySQL 服务:mysqld --install mysql
  6. 启动 MySQL 服务:net start mysql
  7. 使用初始密码进入 MySQL 数据库:mysql -u root -p
  8. 输出之前被输出在控制台的初始密码后,成功进入数据库!
  9. 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
  10. 退出数据库:quit;
  11. 将 MySQL 的bin目录所在路径添加至系统的PATH环境变量,以便使用命令行进入数据库。

2. PHP安装

  1. 下载:下载地址
    • 选择最新的版本,并选择VC15 x64 Thread Safe版本
    • 为确保安装时不出现某扩展寻找失败的错误,先下载VC15并运行
  2. 解压至文件夹:D:\env\php
  3. 复制php.ini-development文件,并将复制文件重命名为php.ini
  4. 使用纯文本编辑器打开php.ini文件,并修改extension_dir的值为"D:/env/php/ext"(解压 PHP 后ext文件夹所在的绝对路径)
  5. 将 PHP 的解压目录添加至系统的PATH环境变量
  6. 打开控制台,并输入php -v检查PHP的安装状态,如正确输出 PHP 版本则说明 PHP 安装成功!

3. Nginx安装

  1. 下载:下载地址
  2. 解压至文件夹:D:\env\nginx
  3. 进入conf文件夹,并添加文件夹vhost,之后所有的虚拟主机配置文件都将放在该目录下
  4. 打开nginx.conf文件,并将其内容修改为以下内容:
worker_processes  4;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

    ## 读取虚拟主机配置
    include vhost/*.conf;
}
  1. 进入vhost目录,添加一个名为localhost.conf的文件,并使用文本编辑器打开,输入以下内容:
server {
    listen       80;
    server_name  localhost;
    charset utf-8;

    location / {
        root html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    ## pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
    }
}
  1. 继续添加虚拟主机配置文件,比如说test.conf,类似的你还可以添加其他虚拟主机配置文件,键入以下内容:
server { 
    listen 80; 
    server_name test;

    charset utf-8;

    location / {
        root   E:/site/test;
        index  index.html index.php;
    }

    location ~ \.php$ {
       root           E:/site/test;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
    }
}
  1. 配置完成后,在D:\env目录下添加start_server.bat文件,使用文本编辑器打开,然后键入以下内容:
REM REM是bat文件的注释类似于php的//
REM 设置不输出命令
@ECHO off
REM 设置Nginx和php-cgi的目录
SET php_home=D:/env/php/
SET nginx_home=D:/env/nginx/

REM 设置插件(RunHiddenConsole)的目录
SET plugin_home=D:/env/plugins/

REM 输出状态
ECHO Starting PHP FastCGI...
REM 启动php-cgi -b 端口 -c php.ini位置
REM %php_home%为获取上面set的php_home的值
%plugin_home%RunHiddenConsole.exe %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini

REM 输出状态
ECHO Starting nginx...
REM 启动Nginx -p Nginx的根目录
%plugin_home%RunHiddenConsole.exe %nginx_home%nginx.exe -p %nginx_home%

REM 打开网站
ECHO Open localhost...
REM start http://localhost
start http://test

这里我们会用到一个工具:RunHiddenConsole.exe,我们将它放在D:\env\plugins目录下

  1. 【注意,这一步很重要!】编辑host文件,位置:C:\Windows\System32\drivers\etc\hosts,添加你想配置的虚拟域名,如下:
127.0.0.1 localhost
127.0.0.1 test
  1. 重启浏览器,并双击D:\env\start_server.bat文件,浏览器将自动打开http://test网站(之前配置的虚拟主机,需要在E:/site/test目录下建立一个index.html或者index.php文件),这里E:\site\test\index.php文件内容为:
<?php

echo __FILE__;
  1. 关闭nginx:在D:\env目录下添加stop_server.bat文件,使用文本编辑器打开,然后键入以下内容:
@ECHO off
ECHO Stopping nginx...  
REM 结束进程 /F 强制终止 /IM 指定的进程 
TASKKILL /F /IM nginx.exe
ECHO Stopping PHP FastCGI...
TASKKILL /F /IM php-cgi.exe
REM 关闭窗口
**EXIT**

安装Redis

  1. 下载:下载地址
  2. 解压至文件夹:D:\env\Redis-x64-3.2.100
  3. 命令行进入Redis-x64-3.2.100目录,安装Redis服务:redis-server --service-install redis.windows.conf
  4. 启动Redis服务:redis-server --service-start
  5. 启动成功后,将Redis的安装目录添加至至系统的PATH环境变量
  6. Redis常用命令:
    • 安装服务:redis-server --service-install redis.windows.conf
    • 卸载服务:redis-server --service-uninstall
    • 启动服务:redis-server --service-start
    • 停止服务:redis-server --service-stop
  7. 安装PHP-Redis:

    1. 下载:下载地址
    2. 复制php_redis.dll文件至PHP安装目录的ext文件夹下,然后打开php.ini文件,添加以下语句:
    extension=php_redis.dll