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

19次阅读

windowsphp环境开机自启有五种方法:一、注册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″替换为实际服务名,路径需含空格时加英文双引号)。

立即学习PHP免费学习笔记(深入)”;

3、若使用Nginx:下载并解压nginx-service工具或使用官方推荐方式,进入Nginx目录后执行:nginx-service.exe install;或使用sc命令手动创建服务:sc create Nginx binPath= “C:nginxnginx.exe” start= auto(注意等号后有空格)。

4、在“服务”管理界面(services.msc)中找到对应服务,右键属性,将“启动类型”设为自动(延迟启动)自动

5、点击“启动”按钮立即启用服务,并确认状态为“正在运行”。

二、通过任务计划程序触发服务启动

适用于无法以服务方式注册(如便携版Nginx)、或需在用户登录后才启动PHP脚本/CLI服务的场景;支持指定延迟、条件判断与错误重试机制。

1、在开始菜单搜索并打开“任务计划程序”。

2、右侧点击“创建任务”,在“常规”选项卡中输入名称(如“启动Nginx+PHP-FPM”),勾选“不管用户是否登录都要运行”和“不存储密码”(若选此项则需使用“仅当用户登录时运行”)。

3、切换至“触发器”选项卡,点击“新建”,选择“登录时”或“系统启动时”,建议勾选“延迟任务时间”设为30秒以避开系统资源争抢。

4、进入“操作”选项卡,点击“新建”,在“程序或脚本”栏填写Nginx主程序绝对路径(如C:nginxnginx.exe),在“添加参数”栏留空或填-c C:nginxconfnginx.conf;如需同时启动PHP-FPM,再添加一个操作,程序路径为C:phpphp-fpm.exe,参数为-c C:phpphp-fpm.ini

5、在“条件”选项卡中,取消勾选“只有在计算机使用交流电源时才启动此任务”(避免笔记本电池模式失效);“设置”选项卡中勾选“如果任务失败,每隔10分钟重新运行,最多重复3次”。

三、通过启动文件夹部署批处理脚本

利用Windows用户级启动文件夹(shell:startup)执行.bat脚本,适合轻量集成方案(如phpstudy、XAMPP便携版),依赖用户会话,不适用于无交互登录场景。

1、按下Win + R,输入shell:startup并回车,打开当前用户的启动文件夹(路径通常为C:Users用户名appDataRoamingmicrosoftWindowsStart MenuProgramsStartup)。

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_USERSoftwareMicrosoftWindowsCurrentVersionRun写入启动命令,效果等同于启动文件夹,但更隐蔽且不受文件系统权限限制,适合静默部署。

1、按下Win + R,输入regedit,回车打开注册表编辑器。

2、导航至路径:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun

3、在右侧空白处右键 → “新建” → “字符串值”,命名为WebServerLauncher

4、双击该新键值,在“数值数据”栏中填入完整CMD调用命令(必须用CMD /C包裹,否则窗口闪退):

CMD /C START “” “C:nginxnginx.exe” & START “” “C:phpphp-fpm.exe” -c “C:phpphp-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:nssmnssm.exe install NginxService,弹出GUI界面后,在“Application”页签设置:

 • Path:C:nginxnginx.exe

 • Startup DirectoryC:nginx

 • Arguments:-c confnginx.conf

3、切换至“Details”页签,填写服务描述,勾选“Service can interact with desktop”(调试阶段可选)。

4、切换至“Log on”页签,选择“此账户”,输入当前用户凭据(若需网络访问权限)。

5、点击“Install service”,完成后在services.msc中启动该服务并设为自动。

text=ZqhQzanResources