WNMP環境搭建步驟
三大件安裝
Nginx安裝
- 下載地址:http://nginx.org/en/download.html
- 選擇穩定版本:
- 下載文件名稱:nginx-1.16.1.zip
- 解壓壓縮包,並進入目錄,比如D:\wnmp\nginx
- 運行nginx.exe
- 打開瀏覽器,地址欄輸入:localhost,回車
出現該頁面,則安裝成功。
PHP安裝
- 下載地址:https://windows.php.net/download#php-7.4
- 選擇非線程安全版本
- 下載文件:php-7.4.1-nts-Win32-vc15-x64.zip
- 解壓壓縮包,並進入目錄,比如:D:\wnmp\php
- 打開cmd,運行命令php -v
出現該頁面,則安裝成功。
MySQL安裝
- 下載地址:https://dev.mysql.com/downloads/mysql/
- 選擇 下載-> No thanks, just start my download.
- 下載文件:mysql-8.0.18-winx64.zip
- 解壓壓縮包,爲後續配置做準備
三大件配置
Nginx配置
- 備份conf目錄(比如D:\wnmp\nginx\conf)下nginx.conf文件
- 修改nginx.conf文件,部分註釋內容未貼出來
#user nobody;
worker_processes 1;
http {
server {
listen 80;
server_name localhost;
location / {
root D:/wnmp/www/localhost;
index index.html index.htm index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root D:/wnmp/www/localhost;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
PHP配置
- 修改D:\wnmp\php目錄下php.ini-development爲php.ini,
- 僅展示部分配置,其餘根據項目需要自行修改配置
[PHP]
; 1
extension_dir = "D:\wnmp\php\ext"
; 2
enable_dl = On
; 3
cgi.force_redirect = 0
; 4
cgi.fix_pathinfo=1
; 5
fastcgi.impersonate = 1
; 6
cgi.rfc2616_headers = 1
; 7
extension=php_mysqli.dll
; 8
date.timezone = Asia/Shanghai
MySQL配置
- MySQL安裝目錄D:\wnmp\mysql-8.0.18-winx64修改my.ini文件(如無,則手動添加)
[mysqld]
# set basedir to your installation path
basedir=D:\\wnmp\\mysql-8.0.18-winx64
# set datadir to the location of your data directory
datadir=D:\\wnmp\\mysql-8.0.18-winx64\\data
- 詳細配置可參考該文檔MySQL配置部分:https://blog.csdn.net/lylfv/article/details/82284750
三大件聯調
PHP連接Nginx
- 創建目錄D:\wnmp\www\localhost
- 新建文件phpinfo.php,內容如下
<?php
phpinfo();
- 開啓PHP進程(注意:cmd需要以管理員權限運行)
d:\wnmp\php>php-cgi.exe -b 127.0.0.1:9000 -c php.ini
- 開啓Nginx
d:\wnmp\nginx>start nginx.exe
- 打開瀏覽器,輸入http://localhost/phpinfo.php,查看頁面展示
至此,則表示PHP和Nginx連接成功。
PHP連接MySQL
- 開啓MySQL
d:\wnmp>net start mysql
- 編寫腳本test_mysql.php,內容如下:
<?php
$servername = "localhost";
$username = "root";
$password = "phpphp";
// 創建連接
$conn = new mysqli($servername, $username, $password);
// 檢測連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
echo "連接成功";
- 打開瀏覽器,輸入,查看頁面展示
至此,則表示PHP和MySQL連接成功。
常用腳本和命令
下面兩個腳本** start_nginx.bat和 stop_nginx.bat**用於快捷啓動、停止Nginx&PHP服務。
start_nginx.bat
@echo off
REM set PHP_FCGI_CHILDREN=5
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
D:\wnmp\nginx\RunHiddenConsole "D:\wnmp\php\php-cgi.exe" -b 127.0.0.1:9000 -c "D:\wnmp\php\php.ini"
echo Starting nginx...
D:\wnmp\nginx\RunHiddenConsole "D:/wnmp/nginx/nginx.exe" -p "D:/wnmp/nginx/"
stop_nginx.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit
常用命令
- 查看進程
tasklist /fi "imagename eq nginx.exe"
tasklist /fi "imagename eq php-cgi.exe"
netstat -ano | findstr "3306"
- Nginx重載配置
nginx -s reload
- Nginx優雅關閉
nginx -s quit
- Nginx幫助命令
nginx -h
- 關閉MySQL服務
net stop mysql