建站系列(八)--- 本地开发环境搭建(WNMP)
目录
- 相关系列文章
- 前言
- 一、准备工作
- 二、Nginx安装
- 三、MySQL安装
- 四、PHP安装及Nginx配置
- 五、总结
相关系列文章
建站系列(一)— 网站基本常识
建站系列(二)— 域名、IP地址、URL、端口详解
建站系列(三)— 网络协议
建站系列(四)— Web服务器之Apache、Nginx
建站系列(五)— 前端开发语言之HTML、CSS、JavaScript
建站系列(六)— 后端开发语言
建站系列(七)— 常用前后端框架
建站系列(八)— 本地开发环境搭建(WNMP)
前言
本篇文章以WNMP(Windows+Nginx+MySQL+PHP)环境为例。
一、准备工作
- (1)拥有一个Windows操作系统,本文所用系统Windows10
- (2)Nginx下载:https://nginx.org/en/download.html (建议下载稳定版本)
- (3)MySQL下载:https://www.mysql.com/downloads/
- (4)PHP下载:https://windows.php.net/download/

二、Nginx安装
-
(1)直接将下载好的Nginx安装包解压到目标目录(自己选择安装目录,路径不要含中文),重命名为Nginx
![![2.png][3]](https://img-blog.csdnimg.cn/03101f909c1840f6a0f8571d17ce8a36.png)
-
(2)进入Nginx目录直接双击Nginx.exe即可启动Nginx或者进入cmd使用命令start nginx(停止命令为:nginx -s stop),启动后进入浏览器访问localhost(127.0.0.1)会有如下界面
![![3.png][4]](https://img-blog.csdnimg.cn/972c8400adab4ddebb9023f163e15763.png)
三、MySQL安装
-
(1)选择安装方式Server only
![![4.png][5]](https://img-blog.csdnimg.cn/c77ce61b8a6c4199bdd0f2b4dee3fe61.png)
-
(2)后续无特殊说明的均直接next
![![5.png][6]](https://img-blog.csdnimg.cn/dc1193f4547b46849895d2d68d309c36.png)
-
(3)这一步很重要!!!一定要选第二个!
![![6.png][7]](https://img-blog.csdnimg.cn/d0e9dfbff1534f2aa6bae90466e7a74e.png)
-
(4)输入root密码,自己要牢记
![![7.png][8]](https://img-blog.csdnimg.cn/3d9dc20d61324762a211c86c8e6d0eee.png)
-
(5)默认即可,如果有黄色感叹号,需修改名称
![![8.png][9]](https://img-blog.csdnimg.cn/e7a34894068747418d0b756d7f6f1c56.png)
-
(6)如图,点击后需等待一会
![![9.png][10]](https://img-blog.csdnimg.cn/603065f426294b6ca7d50a5b65d8d3db.png)
-
(7)后续直接下一步直至安装完成
![![10.png][11]](https://img-blog.csdnimg.cn/ddd74a0cb2084717b76c8607568ae3f1.png)
-
(8)验证一下是否安装成功,打开刚刚安装的mysql命令行客户端,输入刚设置的密码
![![11.png][12]](https://img-blog.csdnimg.cn/8557c72d09c34d06b9dd6fecd726964d.png)
-
(9)若出现如下信息则安装成功
![![12.png][13]](https://img-blog.csdnimg.cn/abf9cd08ec5842729b268094b67aeed1.png)
四、PHP安装及Nginx配置
-
(1)解压到目标目录
![![13.png][14]](https://img-blog.csdnimg.cn/95d418fd67ab4d4bbf31da7e4295dec3.png)
-
(2)复制一份php.ini-development改名为php.ini放到安装路径下
![![14.png][15]](https://img-blog.csdnimg.cn/fcc26b661fee49549c1f7ae9a43ca7d8.png)
-
(3)将php.ini打开直接添加如下内容,extension_dir = “你的PHP安装路径\ext”
cgi.fix_pathinfo=1
cgi.force_redirect = 0
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
extension_dir = "C:\software\wnmp\php\ext"
![![15.png][16]](https://img-blog.csdnimg.cn/0c74ec483480493ab3cc8b92d6f949e0.png)
- (4)打开cmd并进入到PHP安装目录(建议直接配置一下PHP的环境变量,方便全局执行),执行命令:php-cgi.exe -b 127.0.0.1:9000 -c 你的PHP安装路径,注意执行后这个cmd窗口不要关闭
php-cgi.exe -b 127.0.0.1:9000 -c C:\software\wnmp\php
- (5)修改nginx.conf文件(在Nginx安装目录下的conf文件夹下,修改前建议备份,防止出错),找到配置文件中的如下内容,并修改或添加
location / {root html;index index.html index.php index.htm;#这里添加index.php}location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;#这一部分前面的#号全部去掉,并将上面这一句改为下面这一句,否则会报运行PHP文件No #input file specified错误fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
- (6)重启Nginx,此时在html文件夹下放入PHP文件便可以通过浏览器正常访问了,大功告成
五、总结
开发环境的搭建并非一个简单的过程,中间可能会遇到非常多的问题,对于新手而言建议在虚拟机上先尝试几次防止出现一些不可逆的错误,虽然安装过程比较繁琐但不失于是一次学习的过程,本次系列教程暂时告一段落,但学习的过程还远远没有结束,后续本系列教程将会得到更多的扩充,最后在这里也给各位读者留下一些问题望各位读者可以自行学习解决。
- 问题一:MySQL数据库如何使用?
- 问题二:如何修改服务器根目录?(提示:本文是将PHP文件放在html目录,进而通过localhost访问)
- 问题三:Linux系统下如何搭建开发环境?
- 问题四:本地Web项目如何实现局域网下不同设备的访问?
- 问题五:尝试将自己的项目部署到自己的服务器上并实现访问(相信这是一个并不算短的学习过程,前提是你要先把基础学好)
- 问题六:了解phpstudy和宝塔Linux
相关文章:
建站系列(八)--- 本地开发环境搭建(WNMP)
目录 相关系列文章前言一、准备工作二、Nginx安装三、MySQL安装四、PHP安装及Nginx配置五、总结 相关系列文章 建站系列(一)— 网站基本常识 建站系列(二)— 域名、IP地址、URL、端口详解 建站系列(三)— …...
21天学会C++:Day8----范围for与nullptr
目录 编辑 1. 范围for 2. nullptr 1. 范围for 我们在写C语言循环遍历代码的时候,无论是用 for循环,while循环都需要考虑循环的起始条件,循环变量的递增逻辑,循环的结束条件。麻烦不说还可能会出错。 int main() {int arr[]…...
Linux——环境变量
✅<1>主页::我的代码爱吃辣 📃<2>知识讲解:Linux——环境变量 ☂️<3>开发环境:Centos7 💬<4>前言:环境变量(environment variables)一般是指在操作系统中用来指定操作…...
Screen的详细全面安装教程及Screen的用法
Screen可以大大提高终端使用效率,是Linux系统管理和运维的必备技能。当我们开启Screen后,只要Screen进程没有终止,其内部运行的会话都可以恢复。即使网络连接中断,用户也可以重新进入已开启的Screen中,对中断的会话进行…...
生成树、Prufer序列的计数问题:0912T1
看到生成树计数,很容易想到生成树计数 然后发现每个点有度数限制,我们可以先考虑枚举每个点的度数(也可以是Prufer 序列中的出现次数) 假设出现次数为 a a a,可以得出其生成树方案为 n ! ∏ ( a i − 1 ) ! \frac{…...
SQL_牛客网_SQL264_求每个登陆日期的次日留存率
牛客每个人最近的登录日期(五) 牛客每天有很多人登录,请你统计一下牛客每个日期新用户的次日留存率。 有一个登录(login)记录表,简况如下: id user_id client_id date 1 2 1 2020-10-12 2 3 2 2020-10-12 3 1 2 2020-10-…...
Hive 基础知识
目录 1.基础概念1.1 定义1.2 组件1.3 元数据1.4 内部表和外部表 2. Hive与关系型数据库的对比3. Hive 数据存储4. 参考文献 1.基础概念 1.1 定义 Hive是一个基于Hadoop的数据仓库基础设施工具,它可以将结构化的数据文件映射为一张数据库表,并提供类SQL查…...
【数据结构】树的基础知识及三种存储结构
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
ABB 3BHB003688R0101接口模块
通信接口:接口模块通常具有多种通信接口,如以太网、串行通信、Modbus、Profibus等,以便与其他设备和系统进行数据交换。 协议支持:它们支持各种通信协议,确保与不同制造商的设备和控制系统兼容。 数据转换和适配&…...
精简 jre 涉坑记录
主要参考:https://zhuanlan.zhihu.com/p/91496457 主要问题: 1)jre 中有 client 和 server 之分。参考:关于JDK的Server和Client模式的切换_jacksonary的博客-CSDN博客 2)对 copy 出来的 rt 进行打 zip 包时&#x…...
Java程序员学习算法路线规划总结
文章目录 前言:必须清楚得基本数据结构:1.需掌握哪些算法?2.学习步骤以及路线 前言:必须清楚得基本数据结构: 数组(Array) 链表(Linked List) 栈(Stack&…...
火山引擎 ByteHouse:两个关键技术,揭秘 OLAP 引擎中的数据导入技术
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 数据导入是衡量 OLAP 引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。 作为一款 OLAP 引擎,火山引…...
深挖“范围经济”穿越产业周期:TCL电子持续繁荣的密码
作者 | 曾响铃 文 | 响铃说 1878年,爱迪生创立了爱迪生电灯公司,14年后,摩根将该公司与另外两家合并成通用电气公司(GE)。 从一个小小的碳丝直流电灯泡开始,历经数次改弦更张,穿越两次世界大…...
Elasticsearch:使用 ESRE 和生成式 AI 了解 TLS 日志错误
作者:DAVID HOPE 本博客介绍了 Elasticsearch 相关性引擎 (ESRE) 及其 Elastic Learned Sparse Encoder 功能的新颖应用,特别是在日志分析中。 最近发布的 Elasticsearch Relevance Engine™ (ESRE™) 包含一系列重要功能,可增强搜索能力…...
Swing程序设计(3)JDialog窗体
文章目录 前言一、JDialog窗体的介绍二、JDialog窗体的使用 1.JDialog的常用构造方法2.实例展示及分析总结 前言 JDialog窗体是窗体中的另一种类型的窗体,指对话框窗体。与JFrame窗体类似,绝大部分对于JFrame窗体使用的方法,对于JDialog窗体也…...
类和对象(1)
文章目录 1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符和封装4.1访问限定符4.2封装 5.类的作用域6.类的实例化6.2结构体内存对齐规则 7.this指针7.2this指针的特性 封装(补充) 1.面向过程和面向对象初步认识 C面向对象但不纯面向…...
学会用命令行创建uni-app项目并用vscode开放项目
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 创建 uni-app 项目 命令行创建 uni-app 项目 编译和运行 uni-app 项目: 用 VS Code 开发 uni…...
java.lang.ClassCastException: android.os.BinderProxy cannot be cast to ...
项目开发遇到下面这个报错了! 问题原因 直接说原因,就是因为进程间不能直接传递对象,应该传递该Binder对象的映射(代理对象),所以类型转换就出错了。如果在同一个进程中,直接传递对象没有关系&a…...
AIGC(生成式AI)试用 3 -- 专业主题
何为专业? 主要研究某种学业或从事某种事业 我的理解可能是在某个方向、某个行业,专业的更靠谱、说了更算、表达的更晰,结果更有说服力 本次提问:你我的专业 生成式AI知道你我的专业吗?生成式AI如何诠释你…...
rsyslog-日志管理 logrotate-日志轮转
日志的管理的方式,以及怎么自己写一个管理日志的小脚本,其实也不能算脚本 管理日志的进程 rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron… httpd/nginx/mysql: …...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
区块链技术概述
区块链技术是一种去中心化、分布式账本技术,通过密码学、共识机制和智能合约等核心组件,实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点:数据存储在网络中的多个节点(计算机),而非…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...
