运行环境为 windows server 2008 64位系统。
安装目录为 D:/wnmpphpmysql5.7 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
(本文选择的是5.7.25 | Microsoft Windows | All | Windows (x86, 64-bit), ZIP Archive)htmlphp7.2 下载地址:https://windows.php.net/downloads/releases/php-7.2.17-nts-Win32-VC15-x64.zip
(本文选择的是 php-7.2.17-nts-Win32-VC15-x64)mysqlnginx 下载地址:http://nginx.org/download/nginx-1.15.11.zip
(本文选择的是 主线版本 nginx/Windows-1.15.11 )nginx
在 D:/wnmp/mysql5.7 目录下建立 my.ini 文件,并写入如下内容sql
[client] port=3306 # 设置3306端口 [mysql] default-character-set=utf8 # 设置mysql客户端默认字符集 [mysqld] port=3306 basedir="D:\wnmp\mysql5.7" # 设置mysql的安装目录 datadir="D:\wnmp\mysql5.7\data" # 设置mysql数据库的数据的存放目录,这里会存放数据库表 character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集 default-storage-engine=MyISAM # 建立新表时将使用的默认存储引擎 #支持 INNODB 引擎模式。修改成 default-storage-engine=INNODB 便可。 #若是 INNODB 模式若是不能启动,删除data目录下ib开头的日志文件从新启动。 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" max_connections=512 query_cache_size=0 table_cache=256 tmp_table_size=18M thread_cache_size=8 myisam_max_sort_file_size=64G myisam_sort_buffer_size=35M key_buffer_size=25M read_buffer_size=64K read_rnd_buffer_size=256K sort_buffer_size=256K innodb_additional_mem_pool_size=2M innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size=1M innodb_buffer_pool_size=47M innodb_log_file_size=24M innodb_thread_concurrency=8
(如下命令为不设置 root 密码,建议使用) mysqld --initialize-insecure (如下命令会随机生成 root 密码,生成的密码在 my.ini 配置文件 datadir 项所在的目录中后缀名为 err 的文件中。好比在个人 my.ini 配置文件中,个人配置为 datadir="D:\wnmp\mysql5.7\data" 所以,我就须要在 D:\wnmp\mysql5.7\data 目录下寻找后缀名为 err 的文件,而后打开后缀名为 err 的文件,搜索 " A temporary password is generated for root@localhost:" 便可看到随机生成的密码) mysqld --initialize
mysqld -install
net start mysql (对应的服务关闭命令为 net stop mysql)
mysql -u root -p
// 方法0一、 set password for root@localhost = password('123456'); // 方法0二、 mysqladmin -u root -p password 123456
// 启动服务 start nginx // 中止 nginx nginx -s stop // 从新加载配置文件 nginx -s reload
0一、搜索关键字“date.timezone”,找到 ;date.timezone = 先去前面的分号再改成 date.timezone = Asia/Shanghai 开启 extension=php_mysql.dll 、 extension=php_mysqli.dll 等一系列所需扩展 0二、修改扩展 dll 文件所在目录 extension_dir="D:\wnmp\php-7.2.1-nts\ext" 0三、CGI 设置 enable_dl = On cgi.force_redirect = 0 cgi.fix_pathinfo=1 fastcgi.impersonate = 1 cgi.rfc2616_headers = 1
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost; location / { root D:\wnmp\www; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php$ { root D:\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; } } }
其实主要修改了两处位置:
第一处:
将数据库
location / { root html; index index.html index.htm; }
修改为了windows
location / { root D:\wnmp\www; index index.html index.htm index.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 D:\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; }
D:\wnmp\php7.2nts\php-cgi.exe -b 127.0.0.1:9000-c D:\wnmp\php7.2nts\php.ini
连接地址为:https://pan.baidu.com/s/1G4xfGBiIc2KekHTlvOMCzA 提取码:prdk
RunHiddenConsole.exe 的做用是在执行完命令行脚本后能够自动关闭脚本,而从脚本中开启的进程不被关闭。服务器
@echo off set php_home=C:\wnmp\php-7.2.17-nts-Win32-VC15-x64 set nginx_home=C:\wnmp\nginx-1.15.10 REM Windows 下无效 REM set PHP_FCGI_CHILDREN=5 REM 每一个进程处理的最大请求数,或设置为 Windows 环境变量 set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI... C:\wnmp\RunHiddenConsole\RunHiddenConsole.exe %php_home%\php-cgi.exe -b 127.0.0.1:9000 -c %php_home%\php.ini echo Starting nginx... C:\wnmp\RunHiddenConsole\RunHiddenConsole.exe %nginx_home%\nginx.exe -p %nginx_home%
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit