linux 后台啟動 nodejs http-server


場景:如果通過 ssh 遠程連接到 linux 服務器時, 通過 NodeJS http-server 啟動一個服務后,如果這時候斷開遠程時,當前終端會關閉,這時候剛才起的服務也就沒了。

linux 服務器 centos 解決方法

1.通過 screen 工具多開終端

通過多開終端的方式可以解決問題,即不在遠程連接的終端中啟動服務, 而是再開一個終端進行啟動服務。然后再切回遠程的終端里。斷開遠程終端就好了,具體方法如下。

首先執行 yum install screen 安裝 screen 命令

在項目文件夾下輸入 screen -S httpserver

輸入完這個命令之后,就已經進入 screen 的一個終端去了, 在這個終端里面輸入http-server ./ -p 端口 命令

最后按住 ctrl+a+d 離開當前終端, 就是后台運行了

2.通過 pm2 運行 http-server

一般情況下我們 http-server ./ -p 端口 直接運行啟動的。如果使用 pm2 的話,需要找到 http-server 這命令的真實地址。非全局安裝一般情況下在 node-modules/bin 目錄下,如果
是全局安裝,就是全局下找找看(npm --help 會輸出 npm 所在路徑。在這個路徑附近找找即可找到)。(我這里是 通過 nvs node 包版本管理器,安裝的 node 並全局安裝的 pm2, 我的 http-server 命令所在路徑為: /root/.nvs/node/17.8.0/x64/bin/http-server)。

具體步驟如下:

#全局安裝 pm2
npm install pm2 -g

# 通過 pm2 運行 http-server 啟動服務,並給服務起個名字叫 n-h-s
pm2 start '/root/.nvs/node/17.8.0/x64/bin/http-server ./ -p 80' --name n-h-s

# 可以查看日志,也會輸出日志存放位置
pm2 log 

Linux screen命令
centos的screen使用
pm2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM