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

  这样就可以一键启动,一键关闭了。

windows本地搭建nginx+php+mysql+redis环境详细步骤的更多相关文章

  1. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  2. CentOS搭建Apache+php+MySQL+Redis环境

    要搭建一个本地linux服务器环境,按照网络教程依葫芦画瓢,噼里啪啦搭好后,发现redis服务怎么也弄不好,不喜欢那种明知有问题却无从下手又无能为力的感觉,碰了无数次壁以后,我决定卸载,重头来过,并尽 ...

  3. windows下搭建nginx+php+mysql环境

    一.下载需要的东西 1.nginx:http://nginx.org/en/download.html 2.php:http://php.net/downloads.php 3.mysql:(暂时先不 ...

  4. windows下搭建nginx+php+laravel开发环境(转)

    1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: 1) 下载 nginx1.14.0(版本根据自 ...

  5. 在 Mac 上搭建 Nginx PHP Mysql 开发环境

    事实上这个过程跟Linux下安装都几乎相同,仅仅是部分命令有区别,大同小异. 网上看到非常多教程都是用 brew 之类的包管理器安装,可是 Mac 自带了 php , 难道还要再装一个第三方的?强迫症 ...

  6. 使用Docker快速搭建Nginx+PHP-FPM+MySQL+phpMyAdmin环境

    一.概述 环境介绍 操作系统:centos 7.6 docker版本:19.03.8 ip地址:192.168.31.34 本文将介绍如何使用单机部署Nginx+PHP-FPM环境 二.Nginx+P ...

  7. win10本地搭建apache+php+mysql运行环境

    首先下载所需软件: Vc2015:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145 Vc2012:http://www.mi ...

  8. windows本地搭建grunt前端项目构建环境

    初学,目前对grunt的理解和需求仅在于简单的文件合并.压缩.语法检查,其强大功能还有待研究. 安装前环境准备 (1)grunt依赖nodejs运行环境,所以要玩grunt得先把nodejs安装好,n ...

  9. CentOS7安装搭建.Net Core 2.0环境-详细步骤

    一.构建.Net core 2的应用程web发布 因为是用来测试centos上的core 环境,先直接用vs17自带的core实例. 二.部署CentOS7的core环境 1.连接并启动之前安装的虚拟 ...

随机推荐

  1. http协议简析(一)

    HTTP:hype-text transfer protocol,超文本传输协议,超文本(html)在网络间(电脑与电脑之间)传输过程中所遵循的一些规则. 两台电脑之间要实现数据传输的条件 1.两台电 ...

  2. 13-Oulipo(kmp裸题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1686 Oulipo Time Limit: 3000/1000 MS (Java/Others)    Memo ...

  3. HttpMessageConverter和ContentNegotiatingViewResolver

    HttpMessageConverter 在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,HttpMessa ...

  4. rocketmq安装部署过程(4.0.0版本)

    准备工作 3个虚拟机节点的构成如下 : 安装步骤 操作过程 1.安装包已经上传至其中1个节点. 2.解压缩安装包 命令:unzip rocketmq-all-4.0.0-incubating-bin- ...

  5. Docker 实现的 redis 主从

    计划用 Docker 实现 Redis 的主从,简单主从而已.主的名称叫 redis-master 一步步来. 先新建个Dockerfile ,从alpine 开始,比较简单. FROM alpine ...

  6. [GO]无缓冲通道(unbuffered channel)

    无缓冲通道(unbuffered channel)是指在接收前没有能力保存任何值的通道,在之前的例子中使用的都是无缓冲通道,需要注意的是,对于无缓冲通道而言,不管是往通道里写数据还是从通道里读数据,都 ...

  7. UVa 1220 Party at Hali-Bula (树形DP,最大独立集)

    题意:公司有 n 个人形成一个树形结构,除了老板都有唯一的一个直系上司,要求选尽量多的人,但不能同时选一人上和他的直系上司,问最多能选多少人,并且是不是唯一的方案. 析:这个题几乎就是树的最大的独立集 ...

  8. 用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件

    转自:http://blog.csdn.net/think2me/article/details/12999907 1. 说说csv 和 Excel 这两者都是我们平时导出或者导入数据一般用到的载体. ...

  9. Android开发之深入理解NFC(一)

    深入理解NFC NFC(Near field communication,近场通信)也叫做近距离无线通信技术. 从原理来说,NFC和wifi类似,二者都利用无线射频技术来实现设备之间的通信. 但是,和 ...

  10. spring事务以及springweb

    什么是事务.事务特性.事务隔离级别.spring事务传播特性 https://www.cnblogs.com/zhangqian1031/p/6542037.html Spring AOP 中@Poi ...