win 10安裝Nginx,php,mysql 小計


一直沒有嘗試Nginx作為Web服務器,時常用的是apache,在Ubuntu下,輸入一些安裝命令就可以把LAMP環境比較輕松的搭建起來。

系統: windows 10 NT ,Nginx-1.14.0,PHP 7.2.5,Mysql

 

nginx 下載 windows版本的壓縮包,如: ,在 PHP 官網 下載,再 點擊頁面的 Windows downloads,就是進入下載適合運行在windows下的PHP軟件包。

我個人習慣軟件安裝在D盤,在D盤新建一個 wnmp 文件夾,將下載好的 Nginx 壓縮包,放入 wnmp 文件夾內,解壓縮之后,Nginx的路徑就是 D:\wnmp\nginx-1.14.0

將下載好的PHP壓縮包解壓到 wnmp文件夾下,文件夾重命名為 php-7.2.5 ,PHP的路徑就是: D:\wnmp\php-7.2.5

再在wnmp文件夾下,新建一個 htdocs 文件夾,准備作為nginx的 root目錄,路徑是: D:\wnmp\htdocs

一. 配置文件的修改

進入php(就是剛才已重命名的php-7.2.5,后面將一直用 php文件夾 來代替說明)文件夾內, 復制一份 php.ini-development 文件之后,將復制之后的文件重命名為 php.ini,編輯 php.ini 文件

1. PHP配置部分

1. 查找 extension_dir,

; extension_dir = "ext" #ext擴張文件夾目錄

去掉前面的";"號,修改之后,如

extension_dir = "D:\wnmp\php-7.2.5\ext"

2. 查找 cgi.fix_pathinfo

;cgi.fix_pathinfo=1 #Php的CGI的設置

去掉前面的";"號,修改之后,如

cgi.fix_pathinfo=1

3. 其它配置

找到:;date.timezone = ,先去前面的分號再改為 date.timezone = Asia/Shanghai
找到:enable_dl = Off 改為 enable_dl = On
找到:;cgi.force_redirect = 1 先去前面的分號再改為 cgi.force_redirect = 0
找到:;fastcgi.impersonate = 1 去掉前面的分號
找到:;cgi.rfc2616_headers = 0 先去前面的分號再改為 cgi.rfc2616_headers = 1

2. nginx的配置

進入 nginx的文件夾內,進入conf文件夾,使用編輯器打開 nginx.conf 配置文件,

找到:location /,

 

location / {
    root   html;#可修改,默認是nginx目錄下的html文件夾(指向站點的根目錄)
    index  index.html index.htm;
}

在上面的 index 的最后面添加 index.php,修改之后如:

location / {
    root   D:/wnmp/htdocs;
    index  index.html index.htm index.php;
    fastcgi_read_timeout 600; #配置讀取cgi超時時間
}

再找到 location ~ \.php$ ,大概在 64~65行,

# 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;
#}

去掉的"#"號,將root 指向站點根目錄。再把 /scripts 替換為 $document_root, $document_root 是指前面"root"所指的站點根目錄,修改之后的效果如:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
    root           D:/wnmp/htdocs;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

 

3. mysql 安裝部分

   mysql 我是從 sohu mysql鏡像站 網站下的 mysql-5.7.23-winx64.zip(個人電腦是64位的系統,所以下的64位的壓縮包) 的文件,解壓到 D:\wnmp 文件夾下,路徑像是: D:\wnmp\mysql-5.7.23-winx64

將 mysql 路徑放入到 電腦環境變量 PATH中,  我在win10打開環境變量 常用的方法是: 進入桌面,右鍵  "此電腦" -> 選擇 屬性 -> 點擊左邊菜單的 高級系統設置 就會打開環境變量窗口了

我新建了一個用戶變量,變量名為 "MYSQL_HOME",變量值為 我的Mysql文件夾路徑,如下圖:

 

 

然后編輯 變量 Path 的變量值中新建一個 "%MYSQL_HOME%\bin",最后點擊確認按鈕,確認保存修改。

在mysql 的目錄(如我的電腦上安裝的路徑是:D:\wnmp\mysql-5.7.23-winx64)下建立一個 `my.ini`的文件,我放入的配置內容是

[mysql]
default-character-set=utf8
[mysqld]
basedir=D:\wnmp\mysql-5.7.23-winx64
datadir=D:\wnmp\mysql-5.7.23-winx64\data
port=3306
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
skip-grant-tables

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]
password = 123456
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf8

安裝 mysql

打開cmd 窗口,進入mysql bin目錄,

安裝mysql服務

#安裝mysql
mysqld install
# 移除mysql
# mysqld remove

初始化

mysqld --initialize

 

初始化完成之后,可以在剛才配置的my.ini文件中,配置的datadir中找到一個以".err"結尾的一個文件,在里可以找到一行 類似 "[Note] A temporary password is generated for root@localhost: " 字樣的,后面的就是mysql root用戶的密碼了,如:

 

在cmd 命令行中,可運行

# 啟動mysql
net start mysql
# 停止mysql
# net stop mysql 

 

二. 啟動服務

1. 啟動 php cgi服務

D:\wnmp\php-7.2.5\php-cgi.exe -b 127.0.0.1:9000 -c "D:\wnmp\php-7.2.5\php.ini"

2. 啟動 nginx服務,進入 nginx 目錄,輸入start nginx.exe 就啟動了,dos 命令如:

D:
cd wnmp
cd nginx-1.14.0
start nginx.exe

#nginx -s reload 重新加載文件
#nginx -s stop 停止nginx

3. 在nginx root目錄下,新建一個 phpinfo.php 文件,編輯該文件,內容是:

<?php
phpinfo(); # 輸出php信息

4. 使用瀏覽器訪問 : http://localhost/phpinfo.php ,將會顯示 php 信息,如:

 

三. 建立 bat 文件

因為手動分別啟動 php-cgi,nginx有點麻煩,所以通過bat 進行啟動,

1. 先下載 RunHiddenConsole.zip ,將解壓出來的 RunHiddenConsole.exe 文件放入到 wnmp 目錄下,新建一個 start.bat 文件,編輯該文件,內容如:

@echo off
echo Starting PHP FastCGI...
D:\wnmp\RunHiddenConsole.exe D:/wnmp/php-7.2.5/php-cgi.exe -b 127.0.0.1:9000 -c "D:/wnmp/php-7.2.5/php.ini"
echo Starting nginx...
D:\wnmp\RunHiddenConsole.exe D:/wnmp/nginx-1.14.0/nginx.exe -p D:/wnmp/nginx-1.14.0
echo Starging mysql...
net start mysql

2. 在 wnmp 文件夾下,新建一個 stop.bat 文件,編輯該文件,內容如:

@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
echo Stopping mysql...
net stop mysql

以后就可以進入 wnmp 文件夾下,雙擊 start.bat 啟動 nginx,php-cgi服務或者雙擊 stop.bat 文件,停止nginx,php-cgi,mysql服務

 

 

參考:

  1.  windows+nginx+php運行環境部署 在安裝完nginx,php-cgi之后,訪問 phpinfo.php過程中,出現  
    2018/05/13 23:58:13 [error] 6120#12416: *74 upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /phpinfo.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost"

    核對 php.ini 的配置是否正確;以上錯誤是我自己的電腦安裝了pptv軟件導致 9000端口占用的問題,已通過當前隨筆 參考的第5點解決

  2. Windows下Nginx/Php/MySQL環境配置  安裝過程中大多數按照該文進行操作
  3. Windows下Nginx的啟動、停止等命令  學習到 nginx 的一些常用命令
  4. win10 tomcat nginx upstream timed out 10060  解決在cmd中 ping localhost, 返回的是 [::1],不是127.0.0.1 的問題
  5. Windows下端口占用查看  解決win10安裝了pptv軟件,因pptv桌面版占用 9000端口,導致 php-cgi 綁定的 9000端口,nginx 無法連接到 php-cgi的9000端口
  6. windows系統mysql-5.7.19官方綠色版zip包安裝教程 mysql 安裝參考1,教程和截圖比較詳細 
  7. Mysql-5.7.20-winx64綠色版安裝步驟 mysql 安裝參考2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM