登录
首页 >  文章 >  php教程

Windows下Apache/NGINXPHP自启设置方法

时间:2026-01-23 10:45:49 235浏览 收藏

推广推荐
前往下载Windows工具 ➜
支持 PC / 移动端,安全直达

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《Windows PHP环境Apache/NGINX开机自启设置指南》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

Windows下PHP环境开机自启有五种方法:一、注册Apache/Nginx为Windows服务;二、用任务计划程序触发启动;三、通过启动文件夹部署BAT脚本;四、修改注册表Run键值;五、使用NSSM封装为服务。

windows本地php环境怎么设置开机自启_apache或nginx开机启动设置【指南】

如果您已在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学习网公众号。

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>