Windows后台启动、停止和重启WNMP脚本

WNMP,是PHP开发环境的简称,即在Windows系统下安装NginxMySQLPHP三个软件。

通过DIY安装WNMP后,要一个个启动、停止和重启这几个软件就比较麻烦。

而且PHP FastCGI默认不会后台启动,需要借助 RunHiddenConsole.exe 组件。

那么,用bat脚本来做岂不是更简单?

首先,下载 RunHiddenConsole.exe

下载后,放到安装的WNMP目录下。

然后,就是启动、停止、重启的脚本了,注意把目录改成自己的具体目录。

注意:脚本执行的时候,要用!!!以管理员身份运行!!!

启动:

@echo off

set run_hidden_console_home=d:/wnmp
set php_home=d:/wnmp/php-7.1.0-nts-Win32-VC14-x64
set nginx_home=d:/wnmp/nginx-1.10.2

rem 启动MySQL
SET status=1
(TASKLIST|FIND /I "mysqld.exe"||SET status=0) 2>nul 1>nul
IF %status% EQU 1 (
   echo MySQL已经启动过了
) ELSE (
    net start mysql
)

rem 启动PHP FastCGI
(TASKLIST|FIND /I "php-cgi.exe"||SET status=0) 2>nul 1>nul
IF %status% EQU 1 (
   echo PHP FastCGI已经启动过了
) ELSE (
   %run_hidden_console_home%/RunHiddenConsole.exe %php_home%/php-cgi.exe -b 127.0.0.1:9000 -c %php_home%/php.ini 
   echo PHP FastCGI启动成功
)


rem 启动nginx
echo,
SET status=1
(TASKLIST|FIND /I "nginx.exe"||SET status=0) 2>nul 1>nul
IF %status% EQU 1 (
   echo Nginx已经启动过了
) ELSE (
   %run_hidden_console_home%/RunHiddenConsole.exe %nginx_home%/nginx.exe -p %nginx_home%
   echo Nginx启动成功
)

echo,
echo 按任意键退出界面(程序依然在运行)
pause>nul
exit

停止:

@echo off  

net stop mysql

taskkill /F /IM php-cgi.exe > nul
echo PHP FastCGI已停止

taskkill /F /IM nginx.exe > nul
echo Nginx已停止

echo,
echo 按任意键退出
pause>nul
exit

重启:

@echo off

rem 设置环境变量
set run_hidden_console_home=d:/wnmp
set php_home=d:/wnmp/php-7.1.0-nts-Win32-VC14-x64
set nginx_home=d:/wnmp/nginx-1.10.2


rem 重启MySQL
SET status=1
(TASKLIST|FIND /I "mysqld.exe"||SET status=0) 2>nul 1>nul
IF %status% EQU 1 (
   net stop mysql
    net start mysql
) ELSE (
    echo MySQL未启动,不需停止
)
net start mysql

rem 重启PHP FastCGI
(TASKLIST|FIND /I "php-cgi.exe"||SET status=0) 2>nul 1>nul
IF %status% EQU 1 (
   taskkill /F /IM php-cgi.exe > nul
   echo PHP FastCGI已停止
) ELSE (
   echo PHP FastCGI未启动,不需停止
)
%run_hidden_console_home%/RunHiddenConsole.exe %php_home%/php-cgi.exe -b 127.0.0.1:9000 -c %php_home%/php.ini 
echo PHP FastCGI启动成功


rem 重启nginx
echo,
SET status=1
(TASKLIST|FIND /I "nginx.exe"||SET status=0) 2>nul 1>nul
IF %status% EQU 1 (
   taskkill /F /IM nginx.exe > nul
   echo Nginx已停止
) ELSE (
   echo Nginx未启动,不需停止
)
%run_hidden_console_home%/RunHiddenConsole.exe %nginx_home%/nginx.exe -p %nginx_home%
echo Nginx启动成功

echo,
echo 按任意键退出界面(程序依然在运行)
pause>nul
exit

最后,点击这里下载RunHiddenConsole和所有脚本

 

参考资料:

  1. Windows 下使用 RunHiddenConsole 启动 nginx、php
  2. PHP-FastCGI on Windows
  3. windows下通过批处理检测进程是否正在运行

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

昵称 *