php-7.4.5-nts-Win32-vc15-x64.zip + mysql-5.7.30-winx64.zip + nginx-1.18.0.zip
文件自行到下载,直接开始安装配置环节。
解压后,在 MySQL 根目录下新建 data
文件夹和 my.ini
配置文件,其中 my.ini
配置文件内容如下,其他参数可自行配置:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\PHPEnv\mysql5730
# 设置mysql数据库的数据的存放目录
datadir=E:\PHPEnv\mysql5730\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
使用管理员身份进入 cmd
,进入 MySQL 安装目录下的 bin
目录,依次输入以下命令:
mysqld --initialize
mysqld --install
其中,mysqld --initialize
进行初始化,在 data
目录下生成相关的文件;在初始化成功之后,使用 mysqld --install
命令进行安装。
# 启动服务
net start mysql
# 登录后立即修改密码
# 打开 .err 文件,找到 A temporary password is generated for root@localhost: yourpassword
# 登录
mysql -u root -p yourpassword
# 修改密码
set password for root@localhost = password('your password');
将解压后 PHP 根目录下的 php.ini-development
文件复制一份改为 php.ini
,作为 PHP 的配置文件。然后就可以直接使用了,一些相关的参数可以自己在 php.ini
进行配置,扩展自行添加。
# 设置时区
date.timezone=Asia/Shanghai
# 扩展目录
extension_dir ="E:/PHPEnv/php745nts/ext"
# 开启扩展
extension=curl
extension=mysqli
extension=pdo_mysql
找到Nginx解压目录下 conf/nginx.conf
进行编辑,相关参数自行修改,注释 server
内的所有内容,并加入 include vhosts/*.conf
为单个网站独立配置。
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# server {
# listen 80;
# server_name localhost;
#
# #charset koi8-r;
#
# #access_log logs/host.access.log main;
#
# location / {
# root html;
# index index.html index.htm;
# }
#
# #error_page 404 /404.html;
#
# # redirect server error pages to the static page /50x.html
# #
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# root html;
# }
#
# # proxy the PHP scripts to Apache listening on 127.0.0.1:80
# #
# #location ~ \.php$ {
# # proxy_pass http://127.0.0.1;
# #}
#
# # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
# #
# #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;
# #}
#
# # deny access to .htaccess files, if Apache's document root
# # concurs with nginx's one
# #
# #location ~ /\.ht {
# # deny all;
# #}
# }
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include vhosts/*.conf;
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
独立配置的文件,随便起个名字,只要后缀是 .conf
的就可以了。相关内容基本如下,具体参数自行设置:
server {
listen 80;
server_name www.yourWebsite.com;
root "E:\PHPEnv\www";
location / {
try_files $uri $uri/ /index.php?$query_string;
index index.php index.html;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
E:\PHPEnv\www
目录下新建index.php
文件,输入以下内容:
phpinfo();
hosts
文件,在最后一行加上你的网址:127.0.0.1 www.yourWebsite.com
php-cgi
,使用以下命令(前提是已经配置环境变量):php-cgi -b 127.0.0.1:9000 -c E:\PHPEnv\php745nts\php.ini
nginx
,其中:// 启动
nginx
// 软停止
nginx -s quit
这样在浏览器打开之前设置的网址,就可以直接看到 phpinfo
信息页面。
当然,一条一条的输入命令启动有些麻烦,可以使用 RunHiddenConsole.exe
进行配合,相关 .bat
文件内容如下:
start.bat
@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole E:/PHPEnv/php745nts/php-cgi.exe -b 127.0.0.1:9000 -c E:/PHPEnv/php745nts/php.ini
echo Starting nginx...
RunHiddenConsole E:/PHPEnv/nginx1180/nginx.exe -p E:/PHPEnv/nginx1180
stop.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
还可以设置为开机启动,这个可以去搜以下如何设置。
WNMP 环境的搭建就像我们平时安装软件一样,一个一个的安装并进行一些参数配置。首先是 MySQL 的安装,设置好参数直接初始化和安装就可以使用;然后是 PHP 的安装,也是修改配置文件开启相关扩展;最后的 Nginx 也只是把各个的网站配置信息单独提取出来到一个文件,这样更方便管理。
有问题欢迎在评论区留言,如果觉得有用,请点个赞~