WNMP 开发环境搭建


安装 PHP


  • PHP 官网:http://windows.php.net/download/
  • 下载 php7.2 :http://windows.php.net/downloads/releases/php-7.2.1-nts-Win32-VC15-x64.zip
  • 解压至 D:\server\php\
    为了方便以后在命令行使用 php ,将 D:\server\php\ 路径放到系统环境变量 Path 中
  • 复制 php.ini-development 并重命名为 php.ini
  • 修改 php.ini
    1. 配置php扩展目录:搜索 “extension_dir” ,修改为 extension_dir = "D:\server\php\ext"
    2. 设置php时区:搜索“date.timezone”,修改为 date.timezone = Asia/Shanghai
    3. 设置搜索“cgi.fix_pathinfo”,修改为 cgi.fix_pathinfo=1
      注意:如果你的 php 是 7.0.12 以下的版本设置cgi.fix_pathinfo=1是存在漏洞的
      详情可查看:http://www.freebuf.com/vuls/124519.html

安装 Nginx


  • Nginx 官网: http://nginx.org/en/download.html 下载稳定版本的 nginx/Windows
  • 解压 nginx-1.12.2.zip 到 D:\server\nginx\
  • 一些简单的命令
  • 定位至 nginx 目录
 cd D:\server\nginx
  • 启动 nginx
start  .\nginx.exe 
  • 停止 nginx
.\nginx.exe -s stop

或者

.\nginx.exe -s quit
  • 重载 nginx (修改配置文件后用该命令可重新加载配置文件)
.\nginx.exe -s reload
  • 查看 nginx 版本
.\nginx.exe -v
  • 修改 nginx 配置文件,使之支持解析 php , 将
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;
}

去掉注释并且修改为

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;
}

配置部分就修改好了

  • 开启 phpcgi
PS D:\server\php> php-cgi.exe -b 127.0.0.1:9000 -c D:\server\php\php.ini
  • 重载nginx配置
PS D:\server\nginx> .\nginx.exe -s reload
  • 创建 D:\server\nginx\html\phpinfo.php 文件
  • 在浏览器输入 http://127.0.0.1/phpinfo.php 即可见
    phpinfo.jpg

MySQL 的安装


  • MySQL官网:https://dev.mysql.com/downloads/mysql/
  • 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-winx64.zip
  • 解压至 D:\server\mysql
  • 创建配置文件 D:\server\mysql\my.ini 内容如下
[mysqld]
 basedir=D:\\server\\mysql
 datadir=D:\\server\\msyql\\data
  • 执行 mysql 初始化命令
PS D:\server\mysql\bin> .\mysqld.exe --defaults-file=D:\server\mysql\my.ini --initialize-insecure

有2种方式使用 mysql (以下选一种即可)

第一种:mysql 作为系统服务运行

  • 安装 mysql 服务
PS D:\server\mysql\bin> .\mysqld --install

安装成功后直接在系统服务中启动 mysql 即可。
为了方便mysql的操作,也可以将 mysql bin目录 D:\server\mysql\bin 加入系统环境变量
mysql 除了可以在系统服务运行,也可用从命令行启动

  • 卸载 mysql 服务
PS D:\server\mysql\bin> .\mysqld --remove

第二种:从命令行运行 mysql
这里我已经把 mysql的bin 目录加入了系统环境变量

  • 运行 mysql
PS C:\WINDOWS\system32> start mysqld
  • 进入 mysql 命令界面
PS C:\WINDOWS\system32> mysql -u root -p

初始化的时候配置项 --initialize-insecure 所以这里的密码默认为空

  • 停止 mysql 命令行服务
 PS C:\WINDOWS\system32> mysqladmin.exe -u root shutdown

安装后的设置和配置

  • 设置密码
    在系统服务或者命令行启动 mysql 后,进入 mysql 命令界面,执行命令
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

其中 123456 为修改的新密码
输入命令 exit 退出后,则需要设置的新密码才能进入 mysql 命令行界面了


其他


  • 为了方便启动开发环境可以写一个简单的 bat 脚本:server.bat , 内容如下
    因为启动 php-cgi 出现一个常驻的 命令窗口 ... 关掉之下php-cgi也会停止,无奈之下只能下载RunHiddenConsole,
    下载地址:https://pan.baidu.com/s/1eT63LBG
    解压后也放至 D:\server\ 下
@ECHO OFF
echo start nginx ......
d:
cd D:\server\nginx\
start .\nginx.exe
echo start mysql ......
cd D:\server\mysql\bin\
start .\mysqld.exe
echo start php ......
cd D:\server\
.\RunHiddenConsole.exe "D:\server\php\php-cgi.exe" -b 127.0.0.1:9000 -c D:\server\php\php-cgi.exe\php.ini
  • 在随便写个停止的脚本 stop.bat
@ECHO OFF
taskkill /F /IM nginx.exe
taskkill /F /IM php-cgi.exe
taskkill /F /IM mysqld.exe

现在双击 server.bat 就可以同时开始nginx 和 MySQL 和 php了
双击 stop.bat 就可以关闭他们

你可能感兴趣的:(WNMP 开发环境搭建)