NSSM是一个windows下服务管理插件,可以填加、删除、启动、停止服务
1.下载
官网:http://nssm.cc
下载页面:http://nssm.cc/download
直接下载:http://nssm.cc/release/nssm-2.24.zip
2.食用
以填加php8.2为例
2.1.将nssm.exe放在PHP的安装目录,即php-cgi.exe目录
2.2. 命令行进入当前目录
- 直接在文件夹地址栏输出"cmd"回车进入命令行
- 或是开始->运行进入命令行,在进入PHP安装目录
- windows11 直接右键 找到菜单进入命令行
2.3. 输入命令 nssm install php82
注意:php82为服务名称
G:\PHPSTUDY2016\php\php-8.2.22-nts-Win32-vs16-x64>nssm install php82
输入命令后回车,会调起nssm配置界面
Path:php8.2目录,点击[…]选择php-cgi.exe
Startup directory: 选择Path后,自动填充
Arguments: 启动参数
Service name: 服务名称
点击 Install service 按钮安装服务,提示"Service php82 installed successfully!",安装成功
2.4. 查看安装的服务
进入服务列表:桌面我的电脑,右键点击【管理】,左侧找到【服务和应用程序】-【服务】打开服务列表
右侧服务中,找到php82服务,点击右键【属性】,打开服务设置页面
启动类型:自动
服务状态:如果是已经停止就点【启动】
点击【确定】按钮启动服务
2.5. 测试
- Nginx建一个站点,测试一下php8.2是否启动。
location ~ \.php(.*)$ {
# 注意:127.0.0.1:9002 为创建服务时Arguments指定的,创建时写的啥,这里对应啥,后面可以增加PHP8.3,PHP8.4,指定不同的端口[9003][9004]就行了
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
- 写个phpinfo运行查看,运行成功
- 将php82服务停止,在查看站点就打不开了。
- 重新启动php82服务后,站点恢复正常
3.常用命令
命令 | 功能描述 |
---|---|
nssm install <服务名> | 安装新的服务,指定服务名称和可执行文件路径。例如:nssm install MyService “C:\path\to\application.exe” |
nssm remove <服务名> confirm | 删除已安装的服务,确认后执行。例如:nssm remove MyService confirm |
nssm start <服务名> | 启动指定的服务。例如:nssm start MyService |
nssm stop <服务名> | 停止指定的服务。例如:nssm stop MyService |
nssm restart <服务名> | 重启指定的服务。例如:nssm restart MyService |
nssm status <服务名> | 检查服务的状态。例如:nssm status MyService |
nssm edit <服务名> | 打开图形界面编辑器以修改服务的配置参数,包括启动程序、环境变量、日志选项等。 |