簡體   English   中英

使用 CodeDeploy 將 Node JS 應用程序部署到 AWS EC2

[英]Deploy Node JS app onto AWS EC2 with CodeDeploy

我正在嘗試使用 CodeDeploy 將一個非常基本的 Node JS 應用程序部署到 AWS EC2 實例上。 我遇到了部署失敗的問題,因為 Node JS 應用程序已經在運行應用程序的端口上運行。 我不完全確定如何處理這種情況。 該應用程序設計為在端口 3000 上運行。下面是我從 CodeDeploy 正在執行的腳本中得到的錯誤消息。 我嘗試進入實例並終止在端口 3000 上運行的進程,但似乎在終止進程后應用程序立即重新啟動。 請讓我知道是否需要任何幫助。 任何意見,將不勝感激。

錯誤

[stderr]+ return 1
[stderr]+ '[' -n 'Now using node v16.15.0 (npm v8.5.5)' ']'
[stderr]+ '[' 0 -ne 1 ']'
[stderr]+ nvm_echo 'Now using node v16.15.0 (npm v8.5.5)'
[stderr]+ command printf '%s\n' 'Now using node v16.15.0 (npm v8.5.5)'
[stdout]Now using node v16.15.0 (npm v8.5.5)
[stderr]+ EXIT_CODE=0
[stderr]+ set -e
[stderr]+ return 0
[stderr]+ npm ci
[stdout]
[stdout]added 183 packages, and audited 184 packages in 1s
[stdout]
[stdout]16 packages are looking for funding
[stdout] run `npm fund` for details
[stdout]
[stdout]1 critical severity vulnerability
[stdout]
[stdout]To address all issues (including breaking changes), run:
[stdout] npm audit fix --force
[stdout]
[stdout]Run `npm audit` for details.
[stderr]+ npm start
[stdout]
[stdout]> web@0.0.1 start
[stdout]> node server.js
[stdout]
[stderr]node:events:505
[stderr] throw er; // Unhandled 'error' event
[stderr] ^
[stderr]
[stderr]Error: listen EADDRINUSE: address already in use :::3000
[stderr] at Server.setupListenHandle [as _listen2] (node:net:1372:16)
[stderr] at listenInCluster (node:net:1420:12)
[stderr] at Server.listen (node:net:1508:7)
[stderr] at Object.<anonymous> (/home/ec2-user/Web/server.js:47:8)
[stderr] at Module._compile (node:internal/modules/cjs/loader:1105:14)
[stderr] at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
[stderr] at Module.load (node:internal/modules/cjs/loader:981:32)
[stderr] at Function.Module._load (node:internal/modules/cjs/loader:822:12)
[stderr] at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
[stderr] at node:internal/main/run_main_module:17:47
[stderr]Emitted 'error' event on Server instance at:
[stderr] at emitErrorNT (node:net:1399:8)
[stderr] at processTicksAndRejections (node:internal/process/task_queues:83:21) {
[stderr] code: 'EADDRINUSE',
[stderr] errno: -98,
[stderr] syscall: 'listen',
[stderr] address: '::',
[stderr] port: 3000
[stderr]}

您可以在項目中更改端口號,或者您可以在 EC2 實例上終止 3000 端口:)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM