由於公司項目環境需要使用Nginx(Nginx的優勢在於“反向代理”和“負載均衡”等等),所以,廢話不多說,開搞!
流程:
- 下載安裝包
- 安裝Nginx
- 安裝PHP
- 連接Nginx和PHP
- 編寫啟動腳本代替命令行啟動Nginx和PHP
- 安裝MySQL
步驟一、安裝包下載
- Nginx下載:url:http://nginx.org/en/download.html
這里博主選擇的穩定版,需要什么版本自己按需下載啊 - PHP下載:url:http://php.net/downloads.php
同上,選擇自己需要的版本哦,博主的電腦是64位的,Nginx需要選擇非線程安全,所以下的第一個 - MySQL下載:url:https://dev.mysql.com/downloads/mysql/
這里博主選擇的最新版,如果想下載其他版本,可以點擊頁面中的“Go to Download Page>”,有更多的選擇哦
步驟二、安裝Nginx
- 在你的C/D/E...盤里(隨便哪一個,看你喜歡)建一個新文件夾命名為“wnmp”,來用做我們的環境部署
- 再進去新建四個文件夾nginx、php、mysql、www(站點)分別管理我們的各個部分
- 然后就可以把我們下載的nginx壓縮包解壓到nginx文件夾里面了
下面是解壓后的文件
下一步,雙擊“nginx.exe”,即可啟動nginx,打開瀏覽器,輸入localhost,看到下面的頁面就代表安裝成功了(如果沒有啟動成功,可能是因為端口的問題,打開E:\wnmp\nginx\conf\nginx.conf,把里面的 listen 后的端口改一下即可)
步驟三、安裝PHP
- 把我們下載的php壓縮包解壓到E:\wnmp\php里面
- 將php.ini-development文件復制一份改名為php.ini
- 指定php的ext路徑:找到
;extension_dir = "./ext"
去掉前面的分號,並把里面的路徑改為我們安裝php文件夾中的ext目錄,比如博主的 extension_dir = "E:\wnmp\php\ext"
- 支持Nginx:找到
;cgi.fix_pathinfo=1
去掉前面的分號
- 支持MySQL:找到
;extension = php_mysql.dll ;extension = php_mysqli.dll
去掉前面的分號
- 啟動php服務:在E:\wnmp\php 文件下以管理員身份打開cmd命令行,運行:php-cgi.exe -b 127.0.0.1:9000 -c E:/wnmp/php/php.ini(根據自己配置的端口和路徑更改哦)
- 檢測是否安裝成功,管理員身份打開cmd下在E:\wnmp\php 下面執行 php -v 看到版本號即代表安裝成功,如下圖
步驟四、連接Nginx和PHP
- 打開文件 E:\wnmp\nginx\conf\nginx.conf(最好先做一下備份)
- 建議更改我們的項目目錄為絕對路徑(博主在E:\wnmp\下新建了一個倉庫“www”),如下
location / { root E:/wnmp/www/localhost; index index.html index.htm index.php; }
- 去掉注釋內容支持訪問php項目
location ~ \.php$ { root E:/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; }
變量$document_root指的是我們定義的root路徑
- 在我們配置的目錄下新建一個 E:\wnmp\www\localhost\phpinfo.php 文件,里面寫上如下代碼(改完配置文件nginx.conf后記得重啟nginx哦)
<?php phpinfo();
瀏覽器中輸入 localhost/phpinfo.php ,看到下面內容即代表配置成功
步驟五、編寫啟動腳本代替命令行啟動Nginx和PHP
每次啟動Nginx和PHP服務都去命令行手動敲真的是太累了,所以我們利用Windows的bat文件寫兩個腳本(啟動和關閉),雙擊操作,簡直爽的不行
- 下載文件RunHiddenConsole.exe,url:https://pan.baidu.com/s/1E6nnH0NL00wRnyij2RzA6Q 提取碼:b490
- 編寫啟動服務文件:start.bat
REM REM是bat文件的注釋類似於php的// REM 設置不輸出命令 @ECHO off REM 設置Nginx和php-cgi的目錄 SET php_home=E:\wnmp\php\ SET nginx_home=E:\wnmp\nginx\ REM 輸出狀態 ECHO Starting PHP FastCGI... REM 啟動php-cgi -b 端口 -c php.ini位置 REM %php_home%為獲取上面set的php_home的值 RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini REM 輸出狀態 ECHO Starting nginx... REM 啟動Nginx -p Nginx的根目錄 RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%
- 編寫關閉服務文件:stop.bat
@ECHO off ECHO Stopping nginx... REM 結束進程 /F 強制終止 /IM 指定的進程 TASKKILL /F /IM nginx.exe ECHO Stopping PHP FastCGI... TASKKILL /F /IM php-cgi.exe REM 關閉窗口 EXIT
-
三個文件放到同一目錄,文件里面的路徑也要配置成自己的文件路徑,比如博主的這樣的
- 如果一切順利,接下來我們就可以通過雙擊start.bat和stop.bat文件來同時開啟關閉Nginx和PHP服務了,如絲質般順滑,哈哈哈
步驟六、安裝MySQL
- 解壓我們下載好的MySQL安裝包到E:\wnmp\mysql里面
- 在這里新建一個文件my.ini,再新建一個文件夾data(如果有就不需要新建了)
- 編輯my.ini,文件內容如下
[mysqld] # 設置3306端口 port=3306 # 設置mysql的安裝目錄 basedir=E:\wnmp\mysql # 設置mysql數據庫的數據的存放目錄 datadir=E:\wnmp\mysql\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
-
以管理員身份打開cmd,轉到E:\wnmp\mysql\bin,初始化命令(會生成一個臨時密碼,注意把臨時密碼記住)
mysqld --initialize --user=mysql --console
-
輸入 mysqld -install 進行服務的添加
- 輸入net start mysql啟動服務
- 輸入mysql -u root -p進行登錄數據庫,用你上面的密碼登錄
- 重新設置密碼:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼'; 再及時生效一下:flush privileges;
- 退出:exit,再重啟一下數據庫:net stop mysql; net start mysql;
- 再管理員身份打開一個cmd窗口,重新登錄一下,成功!大功告成啦
至此,我們的wnmp環境就部署好了!如有疑問,可以留言博主哦
感謝如此優秀的我們!