Windows下Apache/NGINXPHP自启设置方法
时间:2026-01-23 10:45:49 235浏览 收藏
哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Windows PHP环境Apache/NGINX开机自启设置指南》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
Windows下PHP环境开机自启有五种方法:一、注册Apache/Nginx为Windows服务;二、用任务计划程序触发启动;三、通过启动文件夹部署BAT脚本;四、修改注册表Run键值;五、使用NSSM封装为服务。

如果您已在Windows本地部署PHP环境,并搭配Apache或Nginx作为Web服务器,但每次重启系统后需手动启动服务,说明服务尚未配置为开机自启。以下是针对不同组合的多种可靠实现方法:
一、通过Windows服务方式注册Apache/Nginx为系统服务
将Apache或Nginx以Windows服务形式安装后,可设置为“自动”启动类型,系统开机时由Service Control Manager直接拉起,无需用户登录即可运行。
1、以管理员身份打开命令提示符(cmd)或PowerShell。
2、若使用Apache:进入Apache安装目录的bin子目录,执行:httpd.exe -k install -n "Apache2.4"(请将"Apache2.4"替换为实际服务名,路径需含空格时加英文双引号)。
3、若使用Nginx:下载并解压nginx-service工具或使用官方推荐方式,进入Nginx目录后执行:nginx-service.exe install;或使用sc命令手动创建服务:sc create Nginx binPath= "C:\nginx\nginx.exe" start= auto(注意等号后有空格)。
4、在“服务”管理界面(services.msc)中找到对应服务,右键属性,将“启动类型”设为自动(延迟启动)或自动。
5、点击“启动”按钮立即启用服务,并确认状态为“正在运行”。
二、通过任务计划程序触发服务启动
适用于无法以服务方式注册(如便携版Nginx)、或需在用户登录后才启动PHP脚本/CLI服务的场景;支持指定延迟、条件判断与错误重试机制。
1、在开始菜单搜索并打开“任务计划程序”。
2、右侧点击“创建任务”,在“常规”选项卡中输入名称(如“启动Nginx+PHP-FPM”),勾选“不管用户是否登录都要运行”和“不存储密码”(若选此项则需使用“仅当用户登录时运行”)。
3、切换至“触发器”选项卡,点击“新建”,选择“登录时”或“系统启动时”,建议勾选“延迟任务时间”设为30秒以避开系统资源争抢。
4、进入“操作”选项卡,点击“新建”,在“程序或脚本”栏填写Nginx主程序绝对路径(如C:\nginx\nginx.exe),在“添加参数”栏留空或填-c C:\nginx\conf\nginx.conf;如需同时启动PHP-FPM,再添加一个操作,程序路径为C:\php\php-fpm.exe,参数为-c C:\php\php-fpm.ini。
5、在“条件”选项卡中,取消勾选“只有在计算机使用交流电源时才启动此任务”(避免笔记本电池模式失效);“设置”选项卡中勾选“如果任务失败,每隔10分钟重新运行,最多重复3次”。
三、通过启动文件夹部署批处理脚本
利用Windows用户级启动文件夹(shell:startup)执行.bat脚本,适合轻量集成方案(如PHPStudy、XAMPP便携版),依赖用户会话,不适用于无交互登录场景。
1、按下Win + R,输入shell:startup并回车,打开当前用户的启动文件夹(路径通常为C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)。
2、在该目录下新建文本文档,重命名为start_webserver.bat(确保扩展名为.bat)。
3、右键编辑该BAT文件,写入以下内容(按实际路径修改):
@echo off
start /d "C:\nginx\" nginx.exe
start /d "C:\php\" php-fpm.exe -c php-fpm.ini
exit
4、保存文件,关闭编辑器;确认文件属性中“只读”未被勾选。
5、重启系统并登录用户账户,观察任务管理器中nginx.exe与php-fpm.exe进程是否出现。
四、通过注册表Run键值添加自启项
直接向HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run写入启动命令,效果等同于启动文件夹,但更隐蔽且不受文件系统权限限制,适合静默部署。
1、按下Win + R,输入regedit,回车打开注册表编辑器。
2、导航至路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run。
3、在右侧空白处右键 → “新建” → “字符串值”,命名为WebServerLauncher。
4、双击该新键值,在“数值数据”栏中填入完整CMD调用命令(必须用CMD /C包裹,否则窗口闪退):
CMD /C START "" "C:\nginx\nginx.exe" & START "" "C:\php\php-fpm.exe" -c "C:\php\php-fpm.ini"
5、关闭注册表编辑器,重启系统验证进程是否存在。
五、使用第三方服务封装工具(如NSSM)
NSSM(Non-Sucking Service Manager)可将任意控制台程序(如nginx.exe、php-fpm.exe)包装为标准Windows服务,支持日志重定向、崩溃自动重启、环境变量注入等高级特性,适合生产级稳定运行。
1、从nssm.cc下载最新版nssm.exe(如nssm-2.24.zip),解压后将nssm.exe复制到C:\nssm\目录。
2、以管理员身份运行CMD,执行:C:\nssm\nssm.exe install NginxService,弹出GUI界面后,在“Application”页签设置:
• Path:C:\nginx\nginx.exe
• Startup directory:C:\nginx\
• Arguments:-c conf\nginx.conf
3、切换至“Details”页签,填写服务描述,勾选“Service can interact with desktop”(调试阶段可选)。
4、切换至“Log on”页签,选择“此账户”,输入当前用户凭据(若需网络访问权限)。
5、点击“Install service”,完成后在services.msc中启动该服务并设为自动。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
116 收藏
-
168 收藏
-
328 收藏
-
411 收藏
-
420 收藏
-
218 收藏
-
149 收藏
-
406 收藏
-
401 收藏
-
221 收藏
-
253 收藏
-
277 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习