建站系列(八)--- 本地开发环境搭建(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: …...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
