Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装

本贴最后更新于 819 天前,其中的信息可能已经时移世易

今天我来试试把我的 Windows 10 装一下后端 Laravel 开发环境吧

我先介绍一下什么是我们的 wnmp 这个是我魔改 lnmp 的,哈哈哈哈哈

lnmp 就是 Linux + nginx + mysql + php

wnmp 那就是 Windows + nginx + mysql + php 啦

首先我们需要一台 Windows ,我这里就是我前一段时间修好的 Windows 10 了。现在我们开始安装 nginx ,可以上 nginx 官网下载,我这里下载的是 nginx/Windows-1.17.10 :http://nginx.org/en/download.html

当然官网下载好像需要不一样的网络,你也可以找一下其他资源,实在找不到的可以给我回复并留下 email ,我看到一定给你发一份带安装包的邮件

好了不多 BB 了,这边下载好之后直接解压全部到你喜欢的目录

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

双击文件夹内的 nginx 安装就好了,第一次打开会提示你安装的,安装后再打开软件如果闪一下就没了是正常的(千万千万不要疯狂猛戳,来自前辈的教训…),实际上就是启动了 nginx

我简单讲一下这些文件夹的大概作用吧

conf :配置文件夹

contrib:应该是放一些缓存或者二进制文件的?我也不是很了解,有兴趣的小伙伴可以去了解了解

docs:文档文件夹,这里有些 nginx 的文档吧

html:默认静态主页文件

logs:日志文件夹

temp:这个应该是用来放一些插件或者插件配置文件的吧

然后我们访问 http://127.0.0.1 如果显示如下图就等于你安装成功了

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

现在我们开始配置 nginx ,首先我们到 conf 文件夹下面创建一个 servers 文件夹,然后编辑 conf/nginx.conf 文件

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

到 http 配置节点下最后一行添加一句(就是最后的大括号上面)

include servers/*.conf;

到我们创建的 servers 文件夹下创建一个 test.conf 文件放入以下代码试试

server {
    listen       8088;
    server_name  localhost;

    location / {
        root   html;
        index  index.html index.htm;
    }

}

添加好后,我们打开 CMD 重启一下 nginx ,先 cd 命令进入到你的下载目录,然后执行下面命令

nginx.exe -s reload

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

然后我们访问一下:http://127.0.0.1:8088/,是不是出现我们 nginx 的默认网页啦

到这里基本安装好了,不过我们还可以配置一下环境变量和 nginx 开机自启(这个我今晚就暂时鸽一下好叭,日后补上…)

接下来我们开始安装 mysql ,这边我还是选择官网下载 mysql 5.7.27 版本:https://downloads.mysql.com/archives/community/

下载后解压到你喜欢的目录,配置将其 bin 文件夹配置到环境变量

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

然后到 mysql 目录创建一个 data 文件夹,并且新建一个 my.ini 文件(配置中的路径记得改成你的路径)

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\Users\Bin\apps\mysql\5.7.28
# 设置mysql数据库的数据的存放目录
datadir=C:\Users\Bin\apps\mysql\5.7.28\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

我们先生成一下 mysql root 用户的默认密码,到 CMD 执行下面命令

mysqld --initialize --user=mysql --console

将会出现一句 [Note] A temporary password is generated for root@localhost: ******** ,请记住这里出现的密码

然后我们打开 CMD 安装 mysql 服务,

mysqld --install mysqld

启动 mysql 服务

net start mysqld

启动成功后我们可以尝试用刚刚生成的默认密码登陆一下

mysql -uroot -p

登录成功后我们先把密码修改成自己记得住的吧

alter user 'root'@'localhost' identified by 'xxxxxxxxx';\

其他服务操作,这里是记录一下怎么关闭 mysql

# 停止服务
net stop mysql
# 卸载服务
mysqld -remove\

最后我们安装一下 php,我选择的是官网 php 7.2 的版本:https://windows.php.net/download

下载后解压到你想要安装的目录,然后配置环境变量

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

在安装目录找到 php.ini-development 复制一份并改名为 php.ini

编辑 php.ini 文件找到 cgi.fix_pathinfo=1 打开(也就是删除前面的 ; 注释符号)

然后打开 CMD 执行启动 php-cgi

php-cgi.exe -b 127.0.0.1:9000 -c php.ini

到这里 php 基本上已经简单安装完了,我们把 php 配置到 nginx 上试试

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

打开我们的 nginx conf 目录,先创建一个 conf.d 的文件夹,然后到这个文件夹下创建 php-cgi.conf 文件,并写入以下配置代码

location ~ [^/]\.php(/|$) {
     try_files  $uri = 404;
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME
     $document_root$fastcgi_script_name;
     include  fastcgi_params;
}

然后我们回到上面配置 nginx 的时候在 servers 下创建的 test.conf 文件将其配置改为

server {
    listen       8088;
    server_name  localhost;
    index index.php index.html index.htm;
    root   html;

    include conf.d/php-cgi.conf;

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    location ~ /.well-known {
        allow all;
    }

    location ~ /\.
    {
        deny all;
    }

}

最后我们进入到 html 文件夹,创建一个 index.php 的文件,写入 phpinfo();

<?php
phpinfo();
?>

Windows 10 后端环境 wnmp 搭建之 nginx,mysql,php 安装-天真的小窝

最后我们访问 http://127.0.0.1:8088/ 试试,配置好后记得到 CMD 执行 nginx -s reload 重启 nginx 哦。

接下来我们安装一下 Composer ,这边直接上官网下载 Composer-Setup.exe 安装程序:https://getcomposer.org/download/

这个还是非常简单的,选个安装路径选择下一步下一步就 ok 了

  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    164 引用 • 406 回帖 • 523 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    673 引用 • 535 回帖
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖 • 58 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
xhaoxiong
站在巨人的肩膀上学习与创新

推荐标签 标签

  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 597 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖 • 5 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    83 引用 • 165 回帖 • 60 关注
  • 自由行
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    76 引用 • 1738 回帖 • 2 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 545 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 19 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 3 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 125 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1090 引用 • 3467 回帖 • 297 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 402 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    331 引用 • 315 回帖 • 82 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 380 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • danl
    57 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 66 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    139 引用 • 441 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    938 引用 • 1456 回帖 • 163 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 166 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 346 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 591 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 3 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖