包含centosnodejs運行的詞條

本文目錄一覽:

如何在centos6上部署nodejs服務

你可以通過運行以下命令。1sudo yum install epel-release現在可以使用yum命令安裝Node.js了。1sudo yum install nodejs因為在開發過程中我需要管理節點包,我還要安裝新公共管理的軟體包管理器,使用以下命令。1sudo yum install npm

centos7實現程序的後台運行——多種方案整理

相信對服務端有所了解的同學對於 如何讓進程後台運行 這個問題都有自己的處理方式,本人零零散散也知道一些方法,但偶爾也會陷入搞混的情況(知其然但不知其所以然,命令就這麼用唄,也就不管為什麼了)。加上近期有不止一個技術還不錯朋友在跟我交流中對於如何處理這個問題產生了一些困惑,我想它可能是一個比較普遍存在的問題,因此打算較為系統地整理一下各種八仙過海的神通,同時也稍微扯一扯一些進程信號的問題。

在shell中通過命令行的方式啟動一個server,如何能夠讓它長久地運行呢?我一旦關了這個shell它就無法服務了,這可不是我們想要的結果,這一節將會介紹各種相關的方法。做各種實驗之前,我在 conoha 上申請了一台臨時的vps,做完就把它釋放了,操作系統是CentOS 7。

說句題外話,conoha這個雲服務商個人感覺還不錯,性價比很高,雖然可能東京的線路偶爾會丟包比較嚴重,但新加坡的線路很棒,出入100M帶寬不限流量,我自己平時用的就是它。好,扯回來,繼續我們的整理。

這篇文章的測試server我們就採用nodejs官網的demo吧:

nohup顧名思義,就是忽略hup信號。hup信號是什麼呢,就是當一個shell窗口關閉的時候,會給隸屬於它的所有進程發一個hup信號,然後該進程就掛了,除非進程捕獲了hup信號,然後做了其它的事情,而不是exit。

使用方式就是在平常的命令前加一個nohup命令:

默認情況下,這個命令會在當前目錄下產生一個nohup.out文件作為程序的輸出。當然你也可以使用管道的方式將輸出重定向到其它地方:

這個符號其實並不能解決本文所提到的問題,它只是一個比較好的輔助方式讓控制台重新回到你的掌控中,從而可以繼續輸入其它命令。

就像這樣:

這樣進程就不會把shell阻塞住了。

用括弧把命令包起來運行,也是一個可以讓進程後台運行的方式,它的原理是把進程所隸屬的session從當前的shell中解放出來,丟給一個subshell。這樣一來,shell關閉發送的hup信號就不會被發到它了。就像這樣:

命令 輸出 阻塞 關閉shell窗口進程還在 exit退出會話進程還在

node server.js 控制台 是 否

nohup node server.js nohup.out 是 否

(node server.js) 控制台 是 否

node server.js 控制台 否 否 是

nohup node server.js nohup.out 否 否 是

(node server.js )node可用 控制台 否 是 是

setsid node server.js 控制台 否 是 是

SIGHUP :從終端上發出的結束信號.

SIGINT :來自鍵盤的中斷信號 ( ctrl + c ) .

SIGKILL :該信號結束接收信號的進程 .

SIGTERM :kill 命令發出 的信號.

SIGCHLD :標識子進程停止或結束的信號.

SIGSTOP :來自鍵盤 ( ctrl + z ) 或調試程序的停止執行信號.

SIGQUIT :來自鍵盤 ( ctrl + \ ) 表示終止前台進程並生成 core 文件.

如何在64位的CentOS6.4上安裝及運行NodeJS應用

1、如果對nodejs環境有比較高的要求,建議選擇源碼安裝的方式進行安裝。

你可以到nodejs org官網上面找到相對的tar.gz文件包。

通過wget命令下載到centos伺服器上, 然後進行源碼安裝。

2、如果對版本要求不高,可以直接用centos的包管理器yum進行安裝

yum install nodejs npm

3、nodejs版本也可以通過nvm等工具去控制,期待深入研究。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130077.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:27
下一篇 2024-10-03 23:27

相關推薦

發表回復

登錄後才能評論