鍍金池/ 問答/HTML/ node寫的服務端如何部署到線上?

node寫的服務端如何部署到線上?

項目結構如圖,
node項目,包含前端和服務端,打包后前端代碼在dist文件夾里,可以直接拖動到服務器即可上線,可是node服務端如何發(fā)布到線上呢?clipboard.png

回答
編輯回答
柒喵
  1. 首先你需要有可對外發(fā)布的服務器資源提供在線服務,且該服務器支持node的應用部署
  2. 把項目文件復制到服務器上,通過npm install等重新構建運行環(huán)境
  3. 根據(jù)項目配置,運行npm start或者其他指令運行服務
2017年10月9日 19:32
編輯回答
心癌

node 項目入口文件

2017年3月10日 13:44
編輯回答
故人嘆

一般node服務上線到服務器用pm2維護,很方便監(jiān)控進程的狀態(tài),也方便重啟。

  1. 服務器上安裝pm2 http://pm2.keymetrics.io/
  2. 將后端代碼上傳到服務器 然后執(zhí)行pm2 命令

    pm2 start ./server/app.js
2017年12月1日 08:43
編輯回答
孤影

樓主問的問題挺大的。粗略地說,大概包含如下幾個步驟。

  1. 環(huán)境依賴安裝
  2. 項目資源部署
  3. 項目啟動運行
  4. 請求轉發(fā)

1. 環(huán)境依賴部署

就是在服務器上安裝node運行時,以及全局依賴的node庫。建議采用 nvm 進行安裝,方便node版本管理。

如果服務器對訪問外網(wǎng)有限制,可以參考筆者這篇 《Node服務一鍵離線部署

項目資源部署

大部分情況下,就是將你的項目目錄打包上傳到服務器的特定目錄。無法用到 壓縮、解壓、文件上傳 幾個命令。也可以通過圖形化工具進行上傳,看樓主實際情況。

項目啟動運行

項目實際上線,一般需要用到進程管理器,比如 PM2,它可以幫你完成很多工作,比如進程管理、監(jiān)控、重啟、日志記錄等。

使用很簡單,可以參考 《PM2實用入門指南

請求轉發(fā)

為了在服務器上靈活配置運行多個服務,一般還需要借助nginx之類的反向代理,進行請求轉發(fā)。例子如下,樓主可以根據(jù)需求自行修改

server {
  listen 80;
  server_name www.example.com; # 你的域名

  root /data/site; # 你的項目根路徑
  index index.html index.htm index.php;

  location ^~ / { # 路徑根據(jù)情況來
    proxy_pass http://127.0.0.1:8080/oc/; # 假設你監(jiān)聽的是8080端口
  }
}
2018年4月3日 06:07
編輯回答
莓森
node ./app.js

啟動服務器監(jiān)聽端口

2018年1月7日 23:37