用过的人估计都知道,windows下的nginx原本不是以一个服务形式存在的,不可能使用类似net start nginx的形式启动,必须用命令行去启动,设置环境变量还没法直接启动,简直就是个麻烦。
最后还是屈服于Apache的Httpd了,但是Nginx还是不要放弃了,于是乎弄了个批处理搞定了。
有几个问题就是,有时候莫名其妙的跑出一堆nginx.exe和php-cgi.exe的进程,可能是cgi的缘故吧,话说linux下的php-pfm怎么不移植过来呢。
最后只好在结束的时候来个全部kill,taskkill命令还是不错的,全部搞定。以后需要测试的时候就可以连nginx一起测试了。不用的时候就老实呆在一边凉快吧,比较感觉没apache方便,虽然要把nginx做成服务也不是什么难事。
@echo off
title Nginx 控制
::设置盘符路径为D盘
D:
::切换到nginx的工作目录
cd D:\HTTP\nginx-1.5.8
::输出菜单
goto menu
:menu
echo --------------------------
echo start 启动服务
echo stop 停止服务
echo reload 重载服务
echo quit 退出
echo reopen 重新打开
echo cgi 启动PHP-CGI
echo --------------------------
set /p input= 请输入:
if "%input%"=="start" call :start
if "%input%"=="stop" call :stop
if "%input%"=="reload" call :reload
if "%input%"=="reopen" call :reopen
if "%input%"=="quit" call :quit
if "%input%"=="cgi" call :cgi
cmd
exit
:start
start nginx.exe
echo 启动已执行
pause
exit
:stop
nginx.exe -s stop
echo 已执行停止操作
taskkill /F /IM nginx.exe
taskkill /F /IM php-cgi.exe
pause
exit
:reload
nginx.exe -s reload
echo 已执行重载操作
pause
exit
:reopen
nginx.exe -s reopen
echo 已执行重新打开操作
pause
exit
:quit
nginx.exe -s quit
echo 已执行退出操作
pause
exit
:cgi
::此处的___php-cig.vbs为外部的文件
start ___php-cgi.vbs
echo PHP-CGI 启动已执行
goto menu
exit
title Nginx 控制
::设置盘符路径为D盘
D:
::切换到nginx的工作目录
cd D:\HTTP\nginx-1.5.8
::输出菜单
goto menu
:menu
echo --------------------------
echo start 启动服务
echo stop 停止服务
echo reload 重载服务
echo quit 退出
echo reopen 重新打开
echo cgi 启动PHP-CGI
echo --------------------------
set /p input= 请输入:
if "%input%"=="start" call :start
if "%input%"=="stop" call :stop
if "%input%"=="reload" call :reload
if "%input%"=="reopen" call :reopen
if "%input%"=="quit" call :quit
if "%input%"=="cgi" call :cgi
cmd
exit
:start
start nginx.exe
echo 启动已执行
pause
exit
:stop
nginx.exe -s stop
echo 已执行停止操作
taskkill /F /IM nginx.exe
taskkill /F /IM php-cgi.exe
pause
exit
:reload
nginx.exe -s reload
echo 已执行重载操作
pause
exit
:reopen
nginx.exe -s reopen
echo 已执行重新打开操作
pause
exit
:quit
nginx.exe -s quit
echo 已执行退出操作
pause
exit
:cgi
::此处的___php-cig.vbs为外部的文件
start ___php-cgi.vbs
echo PHP-CGI 启动已执行
goto menu
exit
还有php-cgi执行是个麻烦,默认还必须得开个黑窗口,多麻烦啊,我发现的最简单的就是用vb的脚本将其隐藏,效果还不错。当然这里的php-cgi.exe 是在环境变量的目录下的,如果没有请自己搞定。
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c php-cgi.exe -b 127.0.0.1:9000",vbhide
ws.run "cmd /c php-cgi.exe -b 127.0.0.1:9000",vbhide
任务基本搞定了,设置环境变量之后。比如我设设置的名称为nginx-c,直接Win+R然后输入就好。
不明觉厉。
没用过的得习惯
曾经这个也用了下
简单好用
小时候还写过 CMD 脚本拿去骗同学来着 …… 现在全忘了 Orz
你所说的小时候是什么时候啊
大概 …… 小学三年级?今年已经要十四岁了也不小了啦 > <
强。在此膜拜
学习了。
有工作介绍没?
你想找什么工作?在济南?
广州,PHP的
技术文,看不懂,还是支持一下。
嘿嘿
这东西真心用不习惯,平时都是界面化的。
没办法,写个图形化的工具也是可以的,但是感觉真没有这个必要
感觉好厉害啊
仔细看看就会发现是很简单的东西
就是感觉好厉害啊,亲,命令行的哟
命令行的怎么了,很高深么?
土豪,CentOs nginx 访问PHP文件,相当于下载文件,怎么破?并没有执行编译
你确定你的PHP安装好了,还有和nginx的配置弄好了?没有就去试试