首頁 > web前端 > 前端問答 > 在Linux上如何後台運行nodejs

在Linux上如何後台運行nodejs

PHPz
發布: 2023-04-05 10:33:37
原創
1599 人瀏覽過

隨著 nodejs 這種伺服器端 JavaScript 的流行以及 Web 應用程式的成長,越來越多的開發者需要建立發布這樣的應用程式。這些應用程式需要能夠後台運行,在這篇文章中,我們將探討一些在 Linux 伺服器上如何後台運行 nodejs 的方法。

  1. 使用進程管理器 PM2

PM2 是一個流行的進程管理器,是在生產環境中後台執行 nodejs 的首選。它提供了許多的功能和選項,包括進程監控、自動重新啟動、負載平衡等等。使用 PM2 後,我們可以方便地將 nodejs 應用程式後台運行。

安裝 PM2

要使用 PM2,我們需要先進行安裝。在終端機中輸入以下指令:

npm install -g pm2
登入後複製

啟動nodejs 應用程式

在啟動應用程式時,使用PM2 十分簡單,只需要在終端機中輸入以下指令:

pm2 start app.js
登入後複製

這裡的app.js 是我們nodejs 應用程式的入口檔案。 PM2 會自動建立一個後台程序來執行這個檔案。

PM2 也提供了許多有用的命令,我們可以使用這些命令來管理 nodejs 進程。以下是一些最常用的命令:

pm2 list              # 列出所有进程
pm2 stop <app-name>   # 停止指定应用程序
pm2 restart <app-name># 重启指定应用程序
pm2 delete <app-name> # 删除指定应用程序
登入後複製
  1. 使用 nohup

nohup 是一個在 Linux 系統下啟動後台進程的工具。它可以讓我們在終端機下運行一個命令,並在終端關閉後將其轉移到後台。使用 nohup 後,即使我們已經退出了終端,我們的 nodejs 應用程式仍然可以在背景運行。

使用nohup 後台運行nodejs

要使用nohup 後台運行nodejs,只需要在終端機中輸入以下命令:

nohup node app.js &
登入後複製

這裡的app.js 是我們nodejs 應用程式的入口文件。 “&”符號表示將指令轉移到後台執行。

結束運行

當我們需要停止後台運行的nodejs 應用程式時,我們需要先使用ps 命令找到應用程式的進程ID,然後使用kill 命令結束進程:

ps -ef | grep node     # 找到进程 ID
kill <pid>             # 结束进程
登入後複製
  1. 使用screen

screen 是一個在一個單獨的終端螢幕上執行指令的工具。我們可以在其中運行任何命令,包括 nodejs 應用程式。使用 screen 後,即使我們退出了終端,我們的 nodejs 應用程式仍然可以在螢幕上運行。

安裝 screen

如果您的伺服器上沒有安裝 screen,您需要先進行安裝。在終端機中輸入以下指令:

sudo apt-get update
sudo apt-get install screen
登入後複製

啟動screen

要啟動一個screen 終端,我們可以使用以下指令:

screen -S <screen-name>
登入後複製

這裡的screen-name 是我們為該終端命名的名稱。

在 screen 中執行 nodejs

現在,我們可以在啟動的 screen 終端機上執行 nodejs 應用程式。在終端機中輸入以下命令:

node app.js
登入後複製

當我們退出 screen 終端機時,應用程式仍將在背景執行。

重新連線到screen 終端機

如果需要重新連線到screen 終端,只需使用以下指令:

screen -r <screen-name>
登入後複製

這裡的screen-name 是我們為該終端命名的名稱。

結束運行

當我們需要停止後台運行的nodejs 應用程式時,我們需要先在screen 終端機中使用Ctrl C 命令停止nodejs 進程,然後使用以下命令關閉screen 終端機:

exit
登入後複製

總結

在Linux 伺服器上,有許多方式可以在後台執行nodejs 應用程式。 PM2 是最常用的進程管理器之一,其他方法包括使用 nohup 和 screen。無論您選擇哪種方法,都需要確保您的應用程式能夠安全地在背景運行,並且您能夠對其進行有效的管理和監控。

以上是在Linux上如何後台運行nodejs的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板