流程:
1、Nginx下载(Nginx官网)
# 根据自己的需要进行下载对应版本
2、PHP下载(PHP官网)
# 根据自己的需要进行下载对应版本,Nginx需要选择非线程安全,所以下的第一个
3、MySQL下载(MySQL官网)
# 根据自己的需要进行下载对应版本
4、相关软件版本
软件名称 | 版本 |
操作系统 | window10 |
Nginx版本 | nginx-1.17.1 |
PHP版本 | php-7.4.1-nts-Win32-vc15-x64 |
MySQL版本 | mysql-8.0.18-winx64 |
1、在你的磁盘里新建一个新文件夹命名为”wnmp“,来用做我们的环境部署
2、再进去新建四个文件夹nginx、php、mysql、www分别管理我们的各个部分
3、然后就可以把我们下载的软件压缩包解压放置到对应目录
1、打开nginx文件夹,查看相关文件夹含义
2、启动Nginx服务,主要分为两种:
1) 双击"nginx.exe"应用程序进行启动;
2) 进入cmd命令行,输入“start nginx.exe” 回车启动程序;
3、打开浏览器,地址栏输入localhost,查看是否有下面的页面,如果有代表成功。
4、关闭Nginx服务,进入命令行,输入“nginx.exe -s stop”回车,关闭服务。
5、注意:
(1) 如果Nginx服务启动不成功,可能是由于端口占用,需修改Nginx服务的启动端口;
1、打开php文件夹;
2、将php.ini-development文件复制一份改名为php.ini,打开php.ini 修改配置文件;
3、修改php配置文件
3.1 指定php的扩展路径:
# php的扩展目录
# 去掉配置项前的分号,取消注释
;extension_dir = "ext"
3.2 支持Nginx:
# php支持Nginx
# 去掉配置项前的分号
;cgi.fix_pathinfo=1
3.3 支持MySQL:
# 支持mysqli和Ppdo_mysql的扩展
# 去掉配置项前的分号
;extension=mysqli
;extension=pdo_mysql
4、启动php服务:
在E:\wnmp\php 文件夹下以管理员身份打开cmd命令行,运行:php-cgi.exe -b 127.0.0.1:9000 -c E:/wnmp/php/php.ini
5、检测是否安装成功,管理员身份打开cmd下在E:\wnmp\php 下面执行 php -v 看到版本号即代表安装成功,如下图
1、打开Nginx配置文件 E:\wnmp\nginx\conf\nginx.conf,进行修改
2、修改项目目录为绝对路径,如下
location / {
# 网站的根目录
root E:/wnmp/www;
# 网站默认加载的文件及顺序
index index.html index.htm index.php;
}
3、支持访问php项目
# 将配置文件对应部分进行修改
location ~ \.php$ {
root E:/wnmp/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
4、重启Nginx服务(修改配置文件必须重启服务)
5、在网站目录下E:\wnmp\www新建一个 E:\wnmp\www\index.php 文件,里面写上如下代码
6、浏览器中地址栏输入 localhost访问,看到下面内容即代表配置成功
1、打开mysql文件夹,查看相关目录含义:
2、在目录新增my.ini 配置文件,并进行如下配置:
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=E:\wnmp\mysql
# 设置mysql数据库的数据的存放目录
datadir=E:\wnmp\mysql\bin\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
3、在目录新增data文件夹,用于存放数据库数据;
4、以管理员身份打开cmd,转到E:\wnmp\mysql\bin,初始化命令(会生成一个临时密码,注意把临时密码记住)
mysqld --initialize --user=mysql --console
2020-01-10T09:27:51.679090Z 0 [System] [MY-013169] [Server] E:\wnmp\mysql\bin\mysqld.exe (mysqld 8.0.18) initializing of server in progress as process 12860
2020-01-10T09:27:51.682725Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2020-01-10T09:28:17.953681Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: waX7laF+pxaR
5、以管理员身份打开cmd,输入 mysqld -install 进行服务的添加
6、以管理员身份打开cmd,输入net start mysql启动服务
7、输入mysql -u root -p进行登录数据库,用你上面的密码登录
8、重新设置密码
# 修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
# 更新用户数据
flush privileges;
9、重启数据库服务,安装mysql成功
# 关闭数据库服务
net stop mysql;
# 启动数据库服务
net start mysql;
1、在网站目录下E:\wnmp\www打开 E:\wnmp\www\index.php 文件,里面写上如下代码,测试数据库连接:
query($sql);//返回一个PDOstatement结果集对象
$result->setFetchMode(PDO::FETCH_ASSOC);//设置查询模式
$rows=$result->fetchAll();
echo "";
var_dump($rows);
2、如果可以查询到相关页面,表示php连接数据库成功。
每次启动Nginx和PHP服务都去命令行手动敲真的是太累了,所以我们利用Windows的bat文件写两个脚本(启动和关闭),双击操作即可
1、下载RunHiddenConsole.exe文件,RunHiddenConsole.exe的作用是在执行完命令行脚本后可以自动关闭脚本,而从脚本中开启的进程不被关闭。简单来说就是黑窗体(CMD命令窗体)不会显示,但CMD命令窗体中运行的程序不会被关闭,特别是一些会挂住必须显示命令窗体的命令还真不错,如 Tomcat、Php、Nginx等。(下载地址)
2、编写启动文件,新建start.bat文件
REM REM是bat文件的注释
REM 设置不输出命令
@ECHO off
REM 设置Nginx和php的目录
SET phpHome=E:\wnmp\php\
SET nginxHome=E:\wnmp\nginx\
REM PHP程序启动
ECHO PHP Starting.......
REM 启动php-cgi -b 端口 -c php.ini位置
REM %phpHome%为获取上面set的php_home的值
RunHiddenConsole %phpHome%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini
REM Nginx服务启动
ECHO nginx Starting ......
REM 启动Nginx -p Nginx的根目录
RunHiddenConsole %nginxHome%nginx.exe -p %nginxHome%
3、编写关闭文件,新疆stop.bat文件
REM 关闭服务的程序
@ECHO off
REM 关闭PHP服务
ECHO Stopping nginx...
REM 结束进程 /F 强制终止 /IM 指定的进程
TASKKILL /F /IM nginx.exe
REM 关闭Nginx服务
ECHO Stopping PHP....
TASKKILL /F /IM php-cgi.exe
REM 关闭窗口
EXIT
4、将RunHiddenConsole.exe、start.bat和stop.bat 三个文件放到(E:\wnmp\)目录下,双击start.bat和stop.bat就可以启动关闭PHP和Nginx服务。
wnmp环境搭建完毕,希望可以帮助到大家