windows本地搭建nginx+php+mysql+redis環境詳細步驟


1、mysql的下載和安裝

  這個可參考我另外一篇文章:http://www.cnblogs.com/myIvan/p/9265645.html

2、php的下載和配置修改

   下載地址:https://windows.php.net/download

  根據自己項目需求下載對應的版本,不過下載時要注意,因為有多個版本

  x64代表電腦位數為64,x86代表電腦位數為32位,這個不用多說。

  需要注意另外一個區別 thread safe (線程安全) 和 non thread safe(線程不安全),這是因為php有兩種運行方式 ISAPI 和 FastCGI 。

  常見的apache 采用ISAPI 模式,及把php當成一個模塊加載,需要選擇線程安全的;

  另外一些IIS、nginx采用FastCGI方式運行php,需要選擇線程不安全的。

  由於我的電腦是64位,且這里使用nginx,所以可以直接下載這一個:

  

  下載完后解壓到指定位置,然后修改配置文件:

  將php.ini-development文件復制一份  命名為php.ini 然后修改里面幾個內容:

  

  根據需要打開拓展

  

  修改時區   

3、nginx的下載安裝及配置

   下載地址:http://nginx.org/en/download.html

  

    根據需求下載對應版本,建議下載穩定版1.14.0版本及以下

    

  修改配置文件nginx.conf

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
	
	
    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root "C:/Program Files/WNMP/nginx1.13/html";
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           "C:/Program Files/WNMP/nginx1.13/html";
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param     SCRIPT_FILENAME    $document_root$fastcgi_script_name;
			#fastcgi_connect_timeout 600;
			#fastcgi_send_timeout 600;
			#fastcgi_read_timeout 600;
			#fastcgi_buffer_size 256k;
			#fastcgi_buffers  16  256k;
			#fastcgi_busy_buffers_size 512k;
			#fastcgi_temp_file_write_size 512k;
            include        fastcgi_params;
        }
    }
	#加載配置文件 多個站點時用
	include servers/*.conf;
}

配置多個站點,則在servers目錄里添加

server {
    listen       10000;
    server_name xxxxxx;
    index index.php index.htm index.html;
   #根目錄 root C:/Users/defaultuser0/Mydata/apiproject/public;
  #nginx訪問日志 access_log "C:/Program Files/WNMP/nginx1.13/logs/access_proxy3.log";
  #nginx錯誤日志 error_log "C:/Program Files/WNMP/nginx1.13/logs/error_proxy3.log"; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } location ~ .*.(js)$ { add_header Cache-Control no-store; } location ~\.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php;   #fastcgi_buffers 16 256k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

4、redis的下載及配置

   官網上應該找不到windows版本,要去github上找,為了方便,我這里分享一下

  下載地址:鏈接: https://pan.baidu.com/s/11egPdrnmIqe7vOIdVvJ-NQ 密碼: 7g49

  里面有多個版本供選擇。

  隨便一個版本,解壓后應該是這樣這個目錄結構:

  

 

  配置redis    redis.windows.conf文件

    

    

    然后就可以到命令行輸入:./redis-server.exe  redis.windows.conf 啟動redis服務;

    

    另外打開一個窗口連接用redis客戶端進行連接:

    

    這樣就連接成功了,如果設置了密碼可能會要求輸入密碼。

    推薦一個redis可視化連接工具:redis-desktop-manager 

    下載地址:鏈接: https://pan.baidu.com/s/1e_DVgnb6FigyMGuguoDPKA 密碼: p3xm

5、自定義開啟關閉腳本start.bat  stop.bat

   建議將php nginx redis的目錄添加進系統環境變量,方便后面使用。

  現在各項都准備好了,怎么啟動,由於nginx跟apache執行php的方式不一樣,所以這里有些麻煩,需要單獨啟動php,再啟動nginx。

php-cgi  -b 127.0.0.1:9000

  nginx啟動直接執行nginx.exe文件即可

  不過這樣啟動后,一定不能關掉cmd窗口。

  分享一個工具:RunhiddenConsole  隱藏掉窗口啟動;下載地址:鏈接: https://pan.baidu.com/s/1a8og8143MaPNmo083f347A 密碼: dt46

  將這個工具的目錄也添加進環境變量,下面就可以寫一個這樣額啟動關閉腳本了:start.bat

@echo off
rem 啟動FastCGI
echo Starting PHP FastCGI... 
RunHiddenConsole   "C:/Program Files/WNMP/php7.1/php-cgi.exe"  -c "C:/Program Files/WNMP/php7.1/php.ini"  -b 127.0.0.1:9000 

rem 啟動nginx
echo Starting nginx... 
RunHiddenConsole "C:/Program Files/WNMP/nginx1.13/nginx.exe" -p "C:/Program Files/WNMP/nginx1.13"

啟動 redis
echo Starting redis...
RunHiddenConsole "C:/Program Files/WNMP/redis/redis-server.exe"  "C:/Program Files/WNMP/redis/redis.windows.conf"

pause
Exit

  關閉腳本: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 redis...
taskkill /F /IM redis-server.exe > nul
pause
exit

 

6、使用xxfpm避免php進程過多崩潰

   本地測試過程中,可能會經常出現,一個項目運行太久了,就訪問不了了,phpcgi進程就掛掉了。

  解決這個東西,需要下載一個東西xxfpm   鏈接: https://pan.baidu.com/s/1kkTx3f3mS0sO51AebCcAUQ 密碼: pcfq

  將里面的pthreadGC2.dll  復制到C:\Windows\System32  和 C:\Windows\SysWOW64 下

  然后將xxfpm目錄也添加進環境變量,就可以這樣啟動php

RunHiddenConsole xxfpm  "C:/Program Files/WNMP/php7.1/php-cgi.exe"  -n 5 -i 127.0.0.1 -p 9000

  最后修改一下我們的啟動腳本 start.bat  

@echo off
echo Starting PHP FastCGI... 
RunHiddenConsole xxfpm  "C:/Program Files/WNMP/php7.1/php-cgi.exe"  -n 5 -i 127.0.0.1 -p 9000
echo Starting nginx... RunHiddenConsole "C:/Program Files/WNMP/nginx1.13/nginx.exe" -p "C:/Program Files/WNMP/nginx1.13"
echo Starting redis... RunHiddenConsole "C:/Program Files/WNMP/redis/redis-server.exe" "C:/Program Files/WNMP/redis/redis.windows.conf" pause Exit

  這樣就可以一鍵啟動,一鍵關閉了。


免責聲明!

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



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