首頁 > web前端 > 前端問答 > 伺服器搭建nodejs環境

伺服器搭建nodejs環境

王林
發布: 2023-05-28 11:28:38
原創
667 人瀏覽過

在現代web開發中,Node.js已經成為了一個不可或缺的元件。作為一個JavaScript執行時間環境,它讓我們可以透過JavaScript來編寫服務端應用程式。在本篇文章中,我們將會介紹如何在伺服器上建置Node.js環境。

  1. 準備工作

在開始之前,我們需要進行一些準備。首先,你需要一台可以存取網路的伺服器。其次,你需要一個可以使用ssh協定登入伺服器的帳號和密碼。最後,你需要選擇一個Linux發行版作為伺服器的作業系統。

在本文中,我們將以Ubuntu Server 18.04 LTS為例進行示範。如果你使用的是其他Linux發行版或Windows,可能會有些差異,但大部分作業應該是通用的。

  1. 安裝Node.js

在開始建置Node.js環境之前,我們需要先安裝Node.js和npm。 npm是Node.js的套件管理工具,它可以幫助我們安裝、管理和升級Node.js的各種模組。

首先,我們需要更新系統的軟體套件清單:

sudo apt-get update
登入後複製

然後,我們可以安裝Node.js和npm:

sudo apt-get install nodejs npm
登入後複製

安裝完成後,可以使用下列命令檢查Node.js和npm的版本:

node -v
npm -v
登入後複製

如果輸出了版本號,則表示Node.js和npm已經成功安裝。

  1. 安裝Nginx

要讓其他人可以存取我們的Node.js應用程序,我們需要一個Web伺服器,這時候Nginx就非常合適了。 Nginx是一個高效能的HTTP和反向代理伺服器,可以用來託管靜態檔案、處理HTTP請求和將請求轉送到其他伺服器。

安裝Nginx非常簡單:

sudo apt-get install nginx
登入後複製

安裝完成後,可以使用以下命令來啟動Nginx服務:

sudo systemctl start nginx
登入後複製

我們也可以使用以下命令來確認Nginx是否已經啟動:

sudo systemctl status nginx
登入後複製

如果輸出了「active (running)」字樣,則表示Nginx已經運作成功了。

  1. 編寫Node.js應用程式

現在,我們已經成功安裝了Node.js和Nginx,可以開始編寫我們的Node.js應用程式了。這裡我們以一個簡單的範例為例,建立一個HTTP伺服器並回傳一個靜態的「Hello World」頁面。

建立一個名為「app.js」的文件,並將以下程式碼複製到該文件中:

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!
');
});

server.listen(8000, () => {
  console.log('Server running at http://localhost:8000/');
});
登入後複製

這個應用程式建立了一個HTTP伺服器,監聽8000埠。當接收到請求時,它將傳回一個HTTP狀態碼為200(表示「OK」),一個名為「Content-Type」的HTTP回應標頭和一個內容為「Hello, World!」的回應體。

接下來,我們可以使用以下命令來運行該應用程式:

node app.js
登入後複製

如果一切正常,控制台將會輸出「Server running at http://localhost:8000/」這樣的訊息。

現在,我們可以在瀏覽器中存取該應用程序,URL為“http://localhost:8000/”。如果一切正常,將會看到一個顯示「Hello, World!」的頁面。

  1. 使用pm2管理Node.js應用程式

雖然我們可以直接使用Node.js運行應用程序,但這種方式並不適合在生產環境中使用。為了更好地管理和監視應用程序,我們可以使用pm2。

pm2是一個開源的Node.js應用程式管理器,可以幫助我們管理多個應用程式的生命週期,包括啟動、停止、重新啟動和監視。它還提供了各種功能,例如自動重啟、叢集模式、負載平衡、日誌記錄等等。

安裝pm2非常簡單:

sudo npm install -g pm2
登入後複製

安裝完成後,我們可以使用以下命令來啟動我們的應用程式:

pm2 start app.js
登入後複製

這將啟動一個名為“app”的應用程序,並在背景運行。我們可以使用以下命令來查看該應用程式的狀態:

pm2 status
登入後複製
登入後複製

如果一切正常,控制台將會輸出與下列語句類似的資訊:

┌─────┬─────────┬───────────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ id  │ name    │ namespace │ state │ pm2 id │ version │ mode   │ pid │ uptime    │ restarts │
├─────┼─────────┼───────────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ 0   │ app     │ default   │ online│ 0      │ 0.0.0   │ cluster│ 7842│ 0s        │ 0        │
└─────┴─────────┴───────────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┘
登入後複製

這表示我們的應用程式已經成功啟動,並且已經在後台以叢集模式運行了。現在,我們就可以使用Nginx將HTTP請求轉送到8000連接埠上執行的應用程式了。

  1. 設定Nginx

現在,我們的應用程式已經可以在localhost:8000上運行了,但我們需要讓其他人也可以存取應用程式。這時候,我們需要使用Nginx將HTTP請求轉送到8000連接埠上。

首先,我們需要編輯Nginx的設定檔。使用下列命令開啟預設的設定檔:

sudo nano /etc/nginx/sites-available/default
登入後複製

在檔案的末端新增以下內容:

location / {
  proxy_pass http://localhost:8000;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection 'upgrade';
  proxy_set_header Host $host;
  proxy_cache_bypass $http_upgrade;
}
登入後複製

這會將所有的HTTP請求轉送至localhost:8000位址上。

接下來,我們需要重新啟動Nginx伺服器:

sudo systemctl restart nginx
登入後複製

最後,使用以下命令來查看應用程式是否運作正常:

pm2 status
登入後複製
登入後複製

現在,我們可以在瀏覽器中輸入伺服器的IP位址,即可看到我們的應用程式了。

總結

在本文中,我們介紹如何在伺服器上建立Node.js環境。我們安裝了Node.js和npm,使用Nginx託管靜態檔案和轉發HTTP請求,創建了一個簡單的Node.js應用程序,並使用pm2來管理該應用程式的生命週期。雖然在不同的環境下可能會有些微調,但是這些步驟應該可以幫助你快速地在伺服器上建立Node.js環境,並運行你的應用程式。

以上是伺服器搭建nodejs環境的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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