欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node.js程序作為服務并在windows下開機自啟動(用forever)

 更新時間:2017年03月29日 11:14:01   作者:不帶汽的可樂  
這篇文章主要介紹了node.js程序作為服務并在windows下開機自啟動的相關資料,因為實現(xiàn)的功能比較簡單,沒有選擇功能比較強大的pm2,文中選擇利用了forever,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

最近項目中有一塊服務是用node.js實現(xiàn)的,運行環(huán)境是windows server 2008 R2,剛開始著手實現(xiàn)這塊功能的時候時間很緊迫,隨便寫了個console程序就部署上去了……啟動方式就是在 CMD 里輸入node main.js。

然而這樣搞肯定是不行的??!這樣搞的話,萬一有哪個 Error 沒捕獲到,整個服務就掛了,雖然咱寫的代碼很嚴謹,跑了一個多月也沒掛,但為了萬無一失,還是得有個自動重啟的能力。

而且更關鍵的問題是……現(xiàn)在這樣好low啊……開機后需要手動啟動,而且運行的時候一直會顯示一個 console ……這根本就忍不了??!

目標:

  1.  支持崩潰后自動重啟
  2.  支持后臺運行
  3.  開機自動啟動

自動重啟和后臺運行

因為 javascript 的單線程運行方式,一點錯誤就徹底崩潰的特性,自動重啟的解決方案自然也早就有了,比如 pm2forever ,從功能上看,pm2 比 forever 要強大不少,然而我只想要個 "Keep Alive" ,所以我選擇了 forever.

先全局安裝 forever

npm install -g forever

然后把啟動用的bat腳本修改一下……

舊的啟動腳本:

node d:\xxx\main.js

使用 forever 后的:

forever start -o out.log -e err.log d:\xxx\main.js

如果不出問題的話,應該就可以了~

然而每次你這樣想的時候,就該出問題了_(:з)∠)_

forever 這家伙居然不認 windows 下的絕對路徑…… 假如我是在c:\Users\Administrator下執(zhí)行的命令,那么 forever 就會嘗試去 c:\Users\Administrator\d:\xxx\下面尋找main.js……

沒錯,除非路徑的第一個字符是 / ,否則就會被當成相對路徑來處理。

或許是我用不慣windows的緣故,反正我是沒找到好的解決辦法,最終迫于無奈,在bat腳本中手動切換了一下盤符處理了

最后的腳本:

@echo off
d:
forever start -o xxx/logs/out.log -e xxx/logs/err.log --uid "communityWorker" xxx/main.js

其實我總是感覺這種做法不太對,但對 windows 實在不熟悉,如果誰有更好的辦法也請評論告訴我

開機自動啟動

既然是自動啟動嘛,我首先想到的就是注冊一個自啟動的服務,然而注冊的似乎只能是一個exe,用bat注冊服務會報出一個 1053 的錯誤

注冊服務不行……那就只好用計劃任務了……

新建一個計劃任務,然后系統(tǒng)啟動時的觸發(fā)器,由這個計劃任務來執(zhí)行我們的bat

嘛……這種方法最后是生效了,唯一需要注意的就是安全選項中,一定要選中 "不管用戶是否登錄都要運行" 的選項??!

否則會在系統(tǒng)啟動觸發(fā)器被觸發(fā)的時候,因為沒有用戶登錄,所以直接跳過了這個計劃任務,進而無法啟動我們的服務。

雖然還有不完善的地方,但確實實現(xiàn)了預期的效果;最后說一句……windows服務器真TM麻煩……

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • iPhone手機上搭建nodejs服務器步驟方法

    iPhone手機上搭建nodejs服務器步驟方法

    這篇文章主要介紹了iPhone手機上搭建nodejs服務器步驟方法,本文給出了詳細的操作步驟以及操作命令,需要的朋友可以參考下
    2015-07-07
  • 玩轉Koa之核心原理分析

    玩轉Koa之核心原理分析

    這篇文章主要介紹了玩轉Koa之核心原理分析,本文從封裝創(chuàng)建應用程序函數(shù)、擴展res和req、中間件實現(xiàn)原理、異常處理的等這幾個方面來介紹,感興趣的可以了解一下
    2018-12-12
  • Node.js多進程的方法與參數(shù)實例說明

    Node.js多進程的方法與參數(shù)實例說明

    這篇文章主要介紹了Node.js多進程的方法與參數(shù)實例說明,Node.js 是以單線程的模式運行的,但它使用的是事件驅(qū)動來處理并發(fā),這樣有助于我們在多核 cpu 的系統(tǒng)上創(chuàng)建多個子進程,從而提高性能,需要的朋友可以參考下
    2023-05-05
  • node版本下報錯build: `vue-cli-service build`問題及解決

    node版本下報錯build: `vue-cli-service build`問題及解決

    這篇文章主要介紹了node版本下報錯build: `vue-cli-service build`問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Node批量爬取頭條視頻并保存方法

    Node批量爬取頭條視頻并保存方法

    在本篇文章中我們給大家介紹了node爬取頭條里面的視頻,并進行批量保存的方法,有需要的朋友可以測試以下。
    2018-09-09
  • node.js解決獲取圖片真實文件類型的問題

    node.js解決獲取圖片真實文件類型的問題

    這篇文章主要介紹了node.js解決獲取圖片真實文件類型的問題,本文根據(jù)二進制流及文件頭獲取文件類型mime-type,然后讀取文件二進制的頭信息,獲取其真實的文件類型,需要的朋友可以參考下
    2014-12-12
  • Node爬蟲工具Puppeteer入門教程實踐

    Node爬蟲工具Puppeteer入門教程實踐

    Puppeteer是一個Node庫,本文主要介紹了Node爬蟲工具Puppeteer入門教程實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Nodejs文件上傳、監(jiān)聽上傳進度的代碼

    Nodejs文件上傳、監(jiān)聽上傳進度的代碼

    這篇文章主要介紹了Nodejs文件上傳、監(jiān)聽上傳進度,本文通過實例代碼給大家詳細介紹,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • node.js配置Token驗證的2種方式總結

    node.js配置Token驗證的2種方式總結

    token驗證,在設計登錄注冊和一些權限接口時發(fā)揮作用,下面這篇文章主要給大家介紹了關于node.js配置Token驗證的2種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 詳解node如何讓一個端口同時支持https與http

    詳解node如何讓一個端口同時支持https與http

    眾所周知node是一個高性能的web服務器,使用它可以很簡單的創(chuàng)建一個http或https的服務器。這篇文章主要介紹了詳解node如何讓一個端口同時支持https與http
    2017-07-07

最新評論