进行 PHP 开发时,一般会用到 Apache 或者是 nginx 去作为 web server。

我是在 Windows 环境下进行开发的,使用 Apache 的时候,我会把 Apache 的 bin 目录加入到环境变量中去,这样我只要打开 Powershell 就能直接使用 httpd 命令来启动 Apache 了;又或者我会将它注册成服务,这样使用 net start apache2.4 也可以快速启动,很方便。

后来使用到了 nginx,我也尝试同样的方法——将 nginx 目录加入到环境变量,重启 Powershell(以管理员身份运行),直接执行 nginx 命令,发现报错了:PS C:\Users\Yian> nginx

nginx: [alert] could not open error log file: CreateFile() "logs/error.log" failed (3: The system cannot find the path specified)

2017/09/15 00:35:03 [emerg] 9408#9120: CreateFile() "C:\Users\Yian/conf/nginx.conf" failed (3: The system cannot find the path specified)

似乎是 nginx 读取不到配置文件,然后 cd 到 nginx 的目录下,再次执行 nginx,发现它是能够正常启动的。

这样子的话,每次启动 nginx 的时候都要在它的目录下进行操作,似乎挺麻烦的啊,于是我翻文档,想把它注册成服务,然而很遗憾,在官方文档里看到如下:Possible future enhancementsRunning as a service.

nginx 目前是还不支持在 Windows 下以服务的形式运行的。

网上也有说可以借助第三方工具来实现注册成服务,但是这种方法有点麻烦,遂放弃,最终写了两个简单的 .bat 脚本,用来实现启动和停止 nginx,具体脚本如下:

start-nginx.bat:@echo off

D:

cd \Env\nginx\

tasklist /fi "imagename eq nginx.exe" |find ":" > nul

if errorlevel 1 nginx -s stop

start nginx

其中,第二第三行是先切换到 nginx 所在的目录(例如我是放在 D:\Env\nginx 里),然后判断当前是否存在 nginx 的进程,如果存在,则先杀死,最后启动 nginx。

同样的,停止的脚本(stop-nginx.bat)先判断 nginx 是否在运行,如果运行,则将其停止:@echo off

D:

cd \Env\nginx\

tasklist /fi "imagename eq nginx.exe" |find ":" > nul

if errorlevel 1 nginx -s stop

最后为了方便,我就直接将这两个文件放在了 nginx 的根目录(这个目录已经加入了环境变量)下,这时候我们在 Powershell 里直接使用命令 start-nginx 和 stop-nginx 就可以轻松启动和停止 nginx 了

jenkin swindows启动_Windows 下通过命令行快速启动 nginx相关推荐

  1. grub用命令启动linux,通过GRUB命令行来启动Linux操作系统

    为什么80%的码农都做不了架构师?>>> GRUB的命令行才是王道,如果知道怎么用命令行来启动操作系统,那理解menu.lst的写法也不难:也就是说在开机的时候,不用GRUB的菜单, ...

  2. docker 启动命令_Jenkins视频课程在Docker环境下安装Jenkins,命令行如何启动Jenkins...

    Tomcat是Apache开发的一款servlet容器,可以提供java服务,作为服务器来使用.Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建.部署.自动化, 满 ...

  3. mysql 前台启动_从Windows命令行启动MySQL

    可以从命令行手动启动MySQL服务器.可以在任何版本的Windows中实现. 要想从命令行启动mysqld服务器,你应当启动控制台窗口(或"DOS window")并输入命令: C ...

  4. Nginx —— nginx的命令行控制(nginx的启动与停止、重载配置文件、回滚日志文件、平滑升级等操作)

    在linux中,需要使用命令来控制Nginx服务器的启动与停止.重载配置文件.回滚日志文件.平滑升级等行为. 默认情况下,nginx被安装在目录/usr/local/nginx中,其二进制文件路径为/ ...

  5. linux终端上网,ubuntu中上网-如何使用ubuntu下用命令行上网?ubuntu下用命令行上网, 爱问知识人...

    2013-08-01 09:07:16 用于基本接口与IP配置的ifconfig ifconfig工具(interface configurator,接口配置器)提供了一些非常基本但是非常重要的功能. ...

  6. Linux 下从命令行打开pdf文件和html文件的命令

    Linux 下从命令行打开pdf文件和html文件的命令 [日期:2012-06-18] 来源:Linux社区 作者:hipercomer [字体:大 中 小] 如果你经常工作在Linux终端下,某个 ...

  7. 不依赖远程API启动SEER区块链命令行钱包和网页钱包的方法

    不依赖远程API启动命令行钱包和网页钱包的方法 在SEER的见证人操作等需要使用命令行钱包的操作中,我们介绍了通过钱包连接远程API来和区块链交互的方法.类似这样: cli_wallet.exe -s ...

  8. jmeter远程启动命令_Jmeter命令行方式启动

    在性能测试过程中,我们常常遇到这样的问题,使用Jmeter的GUI界面进行大并发量的性能测试时,界面容易卡死,无法继续进行性能测试.通过使用命令行方式启动jmeter是一个不错的方式.下面就简单介绍一 ...

  9. php框架进入命令行,swoole为何要用命令行来启动_PHP开发框架教程

    swoole: PHP的协程高性能网络通信引擎,运用完整同步的代码完成异步顺序.PHP代码无需分外增添任何关键词,底层自动举行协程调理,完成异步IO. 基于 swoole 的服务端应该在命令行体式格局 ...

最新文章

  1. ElasticSearch性能优化策略【转】
  2. Web应用程序中(VS2005+SP1)添加App_Code(转)
  3. GIS空间数据结构 - 矢量和栅格
  4. 页面闲置一段时间后,跳转
  5. .Net Core SignalR 初体验
  6. CSS3-06 样式 5
  7. 毫秒转换友好的显示格式【刚刚、几秒前,几小时,几天前(3天内) 时间格式化】
  8. 无基础学python能干什么-呼市学Python语言能干什么
  9. 上周热点回顾(11.11-11.17)
  10. NSS_08 extjs表单验证
  11. 5.1 API : SVC
  12. Python基本数据类型之tuple
  13. linebreak_经典MT4指标3LineBreak
  14. Python PDF转image方法小结
  15. 驱动备份及还原命令-手记
  16. 一款值得使用的,免费会议室管理软件【微信小程序和网页版都有】
  17. H266 ISP 帧内子划分
  18. 如何使用Java获取货币符号?
  19. 弹性裸金属服务器EBM
  20. http请求限制和http连接限制

热门文章

  1. 快速定量,Abbkine 蛋白质定量试剂盒BCA法来了!
  2. centos7 linux ffmpeg 改变 修改 视频 帧频 shell 懒人系列-17
  3. 二维码设计不得不知的小技巧!
  4. 2345看图王2345Pic10.4.0.9254_x64官方净化版
  5. 语音信号处理:librosa库【详解】
  6. NodeMCU文档中文翻译 4 烧写固件
  7. 非线性方程求根方法总结附代码(从二分法、试位法到牛顿迭代、二次插值等)
  8. java怎么表示输入非法,java非法的字符 是怎么回事啊
  9. 蓝汛之,PWM和timer定时器的使用【篇】
  10. 虎符CTF 2022 mva