windows server被装一个抢票软件后

最后在公司对内业务的主服务器上被一个运维的小伙伴安装上一个teamviewer和一个不知名的抢票软件(ps:我们的运维小伙伴不懂技术,只是管理一下各个服务器续费等问题),结果我挂在pm2下的几个nodejs项目都挂掉了,还有我的redis-servermongodb也是没能幸免(ps:redis我没有安装成windows server),一下子电话被打爆了。

这已经不是第一次服务全被挂掉了,上一次也是一个服务一个服务的启动,估计这次也是服务器被重启了。

  pm2 start C:\www\a.js --name xxx
  pm2 start C:\www\b.js 
    .
    .
    .
 

像这样一个一个的启动慢,还有几个系统还有依赖关系也容易搞错顺序。于是,将nodejs所有的项目按pm2官网上写的配置式写了一个Startup.config.js,这样nodejs只要启动一个命令

// Startup.config.js
{ 
  "apps" : [
    { "script" : "a.js", "instances" : "1", "exec_mode" : "fork" },
    { "script" : "b.js", "instances" : "1", "exec_mode" : "fork" },
    { "script" : "c.js", "instances" : "1", "exec_mode" : "fork" },
      .
      .
      .
]}
//启动命令
pm2 start Startup.config.js

这样确实好一点了,但是还有redis-servermongodb等服务也要启动,这对我们什么都不懂的运维小伙伴来说还是太难了,于是我十脆将所有要启动的东西都写到一个脚本里去,这样他不小心将我们的服务器弄挂之后可能不用我这样的程序猿来就可以完成所有的服务启动工作,就这样有了这个脚本文件Startup.bat

@echo off
echo 正在启动mongodb  
start "" "mongod --dbpath C:\mongodb\ ..."
echo 正在启动redis
start "" "C:\redis\redis-server.exe"
echo 正在启动nodejs各个项目
pm2 start Startup.config.js
echo 启动完成

到现在只要运行一个东西就可以完成我们的服务器上所有要启动的服务一键启动,后面我又想,万一我们的运维小伙伴忘记了去运行这个脚本怎么办?没关系办法我已经想好了,首先运行regedit打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,在run下面新建一个值为 C:\Startup.bat的项,这样就可以开机启动了。好啦,我想到这里一个再可爱的运维小伙伴都能管好这台服务器了吧。
最后附上一张我们那个可爱小伙伴的照片

timg.jpeg

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • “稚子牵衣问:归来何太迟?共谁争岁月,赢得鬓边丝 ?” ----杜牧《归家》...
    周小的文字阅读 417评论 0 2
  • 我说过几次:任何古方都治不了任何现代人的病,再对症也没用。很多人不信,找我讨(si)论(bi)。这里就简单回应一下...
    大个子小男人阅读 1,023评论 0 2
  • 晨间,树枝上 小鸟们在谈论你 声线一圈一圈 轻风一圈一圈 有些东西感到了不安吗 打开旧年的书信,摊在午后 木桌的木...
    鼠想说的阅读 166评论 7 10