nodejs服務怎麼部署nginx

PHPz
發布: 2023-04-05 14:09:10
原創
1380 人瀏覽過

在現代web開發中,隨著前端技術的不斷發展,常常使用Node.js來建立Web應用程式。對於使用Node.js開發網路應用程式的人來說,「Nginx」是一個非常熟悉且常見的詞語,因為它是一種非常強大且流行的網路伺服器,而且可以與Node.js一起使用。在本文中,我們將深入探討如何使用Nginx部署Node.js應用程序,以便您可以更好地控制您的網路應用程式從哪裡獲得服務。

什麼是Nginx

Nginx是一個流行的Web伺服器,適用於各種網站,也存在於許多高負載網站中。它的特點是速度快、資源佔用低,可以處理大量的連線請求。 Nginx配置非常靈活,可以根據需要進行修改。 Nginx可以作為反向代理伺服器,能夠處理靜態文件,重定向,負載平衡等等。

什麼是Node.js

Node.js是一個基於Chrome V8 JavaScript引擎建構的平台,可用於建立快速,可擴充且高效的Web應用程式。 Node.js使用事件驅動和非阻塞I/O模型,因此它可以處理大量的連接請求,以應對高負載場景。 Node.js非常適合編寫即時Web應用程式和API伺服器。它是一個開源軟體,已經成為Web開發社群中廣泛使用的技術。

如何在Nginx上部署Node.js應用程式

為了在Nginx上部署Node.js應用程序,我們需要執行以下步驟:

  1. 安裝Node .js和Nginx

在部署Node.js應用程式之前,您需要在伺服器上安裝Node.js和Nginx。

在Ubuntu上安裝Node.js:

~$ curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
~$ sudo apt- get install -y nodejs

在Ubuntu上安裝Nginx:

~$ sudo apt update
~$ sudo apt install nginx

  1. #Node.js
  2. ##.js應用程式

建立Node.js應用程式作為範例:


var http = require('http');
http.createServer(function (req, res) {
 res.writeHead(200, {'Content-Type': 'text/plain'});
 res.end('Hello World\n');
}).listen(3000, ' 127.0.0.1');

console.log('Server running at http://127.0.0.1:3000/');

儲存為hello.js
  1. #啟動Node.js應用程式

啟動該應用程式

node hello.js
  1. 設定Nginx

Nginx預設使用/etc/nginx/sites-available/default檔案來設定各個虛擬主機的配置。我們可以編輯此檔案並將其配置為新增一個反向代理伺服器,以便將連線請求從Nginx伺服器轉送到Node.js應用程式。

編輯預設檔案

sudo nano /etc/nginx/sites-available/default

將檔案修改為如下內容:

server {

listen 80;
server_name example.com;

location / {
    proxy_pass http://127.0.0.1:3000;
    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;
}
登入後複製
}

在這個範例中,我們將伺服器配置為監聽80端口,將請求轉發到Node.js應用程式的3000端口。
  1. 重新啟動Nginx

重新啟動Nginx以使設定生效。

sudo service nginx restart
  1. 測試應用程式

現在,我們應該可以直接存取應用程式了。

http://example.com/

我們完成了Node.js程式的Nginx部署,現在你已經學會如何將Node.js當作反向代理伺服器,並使用Nginx在生產中部署Node.js應用程式。透過了解更多有關Nginx和Node.js的內容,我們可以更掌握Web開發和伺服器管理技能。 ###

以上是nodejs服務怎麼部署nginx的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!