首页 > 编程语言 >windowns下bat启动程序(Ngin + PHP +MariaDB)

windowns下bat启动程序(Ngin + PHP +MariaDB)

时间:2022-11-01 12:39:17浏览次数:47  
标签:Ngin bat exe goto echo nginx call HOME% MariaDB


分享知识  传递快乐

 

windowns下bat启动程序(Ngin + PHP +MariaDB)_bat启动程序

以下是本人搭建PHP运行环境,用于启动 Ngin + PHP +MariaDB 服务所用,仅供参考。

如有需要了解更多bat命令,请点击查看《​​BAT命令常用API​​》。

 

代码如下:

@ECHO OFF
TITLE WNMP管理程序
COLOR 0A

set WNMP_HOME=D:/WnmpServer/wnmp/bin
::nginx 所在目录
set NGINX_HOME=%WNMP_HOME%/nginx/1.16.1
::php 所在目录
set PHP_HOME=%WNMP_HOME%/php/5.5.12
::set PHP_HOME=%WNMP_HOME%/php/7.2.25
::mariadb 所在目录
set MARIADB_HOME=%WNMP_HOME%/mariadb/10.4.10/bin


::验证文件是否存在
if not exist "%WNMP_HOME%/RunHiddenConsole.exe" (
echo 缺少WNMP运行必要文件!
pause
exit
)


echo ****** WNMP管理程序 ******
echo.

:MENU
:: 判断程序是否存在
ECHO *******************************************************************
ECHO *
ECHO * Wnmp程序管理
ECHO *
ECHO *******************************************************************

echo.
echo. [1] 启动Wnmp
echo. [2] 关闭Wnmp
echo. [3] 重启Wnmp
echo. [4] 查看进程
echo. [5] 查看版本
echo. [6] 刷新
echo. [0] 退出
echo.

echo.请输入选择的序号:
set /p ID=
if "%id%"=="1" goto start
if "%id%"=="2" goto stop
if "%id%"=="3" goto restart
if "%id%"=="4" goto process
if "%id%"=="5" goto version
if "%id%"=="6" goto refresh
if "%id%"=="0" exit
PAUSE

::*************************************************************************************
::
:: 创建执行服务
::
::*************************************************************************************
::
::启动
:start
call :StartNginx
call :StartPHP
call :StartMariaDB
call :ShowLine
goto MENU

::停止
:stop
call :StopNginx
call :StopPHP
call :StopMariaDB
call :ShowLine
goto MENU

::重启
:restart
call :StopNginx
call :StopPHP
call :StopMariaDB
call :StartNginx
call :StartPHP
call :StartMariaDB
call :ShowLine
goto MENU

::查看版本
:version
call :NginxVer
call :PHPVer
call :MariaDBVer
call :ShowLine
goto MENU

::查看进程
:process
call :NginxProcess
call :PHPProcess
call :MariaDBProcess
call :ShowLine
goto MENU

::刷新
:refresh
echo.
cls
goto MENU


::*************************************************************************************
::
:: 创建执行过程
::
::*************************************************************************************

::*************************************************************************************
::
:: nginx
::
::*************************************************************************************
::
:StartNginx
echo.
::tasklist查找所有进程列表,让find找出nginx.exe进程
tasklist|find /i "nginx.exe">nul

::errorlevel:0成功,1失败
::echo nginx启动状态:%errorlevel%

::errorlevel==1找不到进程(说明程序未启动,则开始启动程序)
if %errorlevel% EQU 1 (
::判断文件是否存在,存在则执行,否则就提示找不到路径
if exist "%NGINX_HOME%/nginx.exe" (
%WNMP_HOME%/RunHiddenConsole %NGINX_HOME%/nginx.exe -p %NGINX_HOME%>nul

::启动完成后,验证启动状态(查看线程)
tasklist|find /i "nginx.exe"
echo nginx start successfully!
) else (
echo unknown Nginx path!
)
) else (
echo nginx service is running!
)
goto :eof

:StopNginx
echo.
::tasklist查找所有进程列表,让find找出nginx.exe进程
tasklist|find /i "nginx.exe">nul

::errorlevel:0成功,1失败
::echo nginx关闭状态:%errorlevel%

::errorlevel==0已找到进程(说明程序已启动,则结束程序)
if %errorlevel% EQU 0 (
taskkill /F /IM nginx.exe>nul

::关闭完成后验证关闭状态(查看线程)
tasklist|find /i "nginx.exe"
echo nginx stop successfully!
) else (
echo nginx service is stopped!
)
goto :eof

::显示nginx版本
:NginxVer
echo.
%NGINX_HOME%/nginx -v
goto :eof

::
:NginxProcess
echo.
tasklist|find /i "nginx.exe"
goto :eof

::*************************************************************************************
::
:: PHP
::
::*************************************************************************************
::
:StartPHP
tasklist|find /i "php-cgi.exe">nul
if %errorlevel% EQU 1 (
if exist "%PHP_HOME%/php-cgi.exe" (
%WNMP_HOME%/RunHiddenConsole %PHP_HOME%/php-cgi.exe -b 127.0.0.1:9000 -c %PHP_HOME%/php.ini>nul

tasklist|find /i "php-cgi.exe"
echo php start successfully!
) else (
echo unknown PHP path!
)
) else (
echo php service is running!
)
goto :eof

::
:StopPHP
tasklist|find /i "php-cgi.exe">nul
if %errorlevel% EQU 0 (
taskkill /F /IM php-cgi.exe > nul

tasklist|find /i "php-cgi.exe"
echo php stop successfully!
) else (
echo php service is stopped!
)
goto :eof

::
:PHPVer
echo.
%PHP_HOME%/php-cgi -v
goto :eof

::
:PHPProcess
echo.
tasklist|find /i "php-cgi.exe"
goto :eof

::*************************************************************************************
::
:: MariaDB
::
::*************************************************************************************
::
:StartMariaDB
tasklist|find /i "mysqld.exe">nul
if %errorlevel% EQU 1 (
if exist "%MARIADB_HOME%/mysqld.exe" (
%WNMP_HOME%/RunHiddenConsole %MARIADB_HOME%/mysqld.exe --defaults-file=%WNMP_HOME%/mariadb/database/my.ini --standalone>nul

tasklist|find /i "mysqld.exe"
echo mariadb start successfully!
) else (
echo unknown MariaDB path!
)
) else (
echo mariadb service is running!
)
goto :eof

::
:StopMariaDB
tasklist|find /i "mysqld.exe">nul
if %errorlevel% EQU 0 (
taskkill /F /IM mysqld.exe > nul

tasklist|find /i "mysqld.exe"
echo mariadb stop successfully!
) else (
echo mariadb service is stopped!
)
goto :eof

::
:MariaDBVer
echo.
%MARIADB_HOME%/mysqld -v
goto :eof

::
:MariaDBProcess
echo.
tasklist|find /i "mysqld.exe"
goto :eof


:ShowLine
echo ###################################################################
echo.
echo.
echo.

 

 

 

 

 

 

 

——————————
如有不足请留言指正
相互学习,共同进步

标签:Ngin,bat,exe,goto,echo,nginx,call,HOME%,MariaDB
From: https://blog.51cto.com/u_15856116/5813261

相关文章

  • mybatis-java中的几类错误
    目录mybatis-java中的几类错误1.第一种错误类型1.1namespace1.2一致性问题1.3构建1.4配置文件导不出来2.第二种类型错误2.1Error:java:错误:不支持发行版本2.2Except......
  • Linux整合LNMP(Centos7.4+Nginx+PHP+MariaDB)
    分享知识传递快乐 由于之前写过Windows整合方式,有很多相同的地方,在此就不过多重复写了,参考下面几篇文章就够用了。​​Win7整合WNMP(Linux整合LNMP(Centos7.4+Nginx+PHP+Mar......
  • nginx的upstream配置backup和check方法
    server{  listen         80;  server_name      ocean.xxxx;  access_log       /app/tengine_log/logs/oce......
  • mybatis中${}、 #{}区别及应用场景
    mybatis中${}、#{}区别及应用场景动态sql是mybatis的主要特性之一。在mapper中定义的参数传到xml中之后,在查询之前mybatis会对其进行动态解析。mybatis提供了两种支持动态s......
  • nginx高并发优化之系统内核参数优化
    一、内核参数优化设置vi/etc/sysctl.conffs.file-max=655360net.ipv4.ip_forward=0net.ipv4.conf.default.rp_filter=1net.ipv4.conf.default.accept_source_route=......
  • 使用Docker一键搭建FastDFS+Nginx分布式文件服务器
    做过很多项目在图片上传上一直使用的是FastDFS,刚开始得知搭建一个这样的系统非常复杂,所以直接使用了淘淘商城的虚拟机。在后面的项目中,最终选择在在阿里云上自己搭建一个Fas......
  • nginx中的proxy_pass配置
    Nginx是最常用的反向代理工具之一,一个指令proxy_pass搞定反向代理,对于接口代理、负载均衡很是实用,但proxy_pass指令后面的参数很有讲究,通常一个/都可能引发一个血案。......
  • Linxu下如何查看一个服务/应用的所在位置和配置位置(以nginx为例)
    有时候我们需要查看某个程序的配置和运行目录以nginx为例1、看出进程ID -PID [root@www~]#ps-CnginxPIDTTYTIMECMD1113?00:00:00n......
  • MyBatis零碎知识点
    目录MyBatis简介MyBatis与hibernate区别缓存Hibernate缓存MyBatis缓存对比com.mysql.jdbc.MysqlDataTruncation:Datatruncation:Datatoolongforcolumn‘*’a......
  • Mariadb数据库备份与恢复
    Mariadb数据库备份的方式有两种:一是冷备,二是热备。一、数据库冷备:关闭状态下直接复制数据目录1、使用mysqladmin停止mysql   mysqladmin是一个执行管理操作的客户......