運行環境爲 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