1. 程式人生 > >Linux伺服器上快速部署Node.js應用

Linux伺服器上快速部署Node.js應用

前言

部署需要用到pm2nginxpm2是一個帶有負載均衡功能的Node應用的程序管理器

Nginx是俄羅斯人編寫的十分輕量級的HTTP伺服器,Nginx,它的發音為“engine X”,是一個高效能的HTTP和反向代理伺服器,同時也是一個IMAP/POP3/SMTP 代理伺服器。Nginx是由俄羅斯人Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的,它已經在該站點執行超過兩年半了。Igor Sysoev在建立的專案時,使用基於BSD許可。(引用自網路)

主要通過pm2來進行部署,通過nginx進行埠轉發

部署應用

部署應用之前首先確保伺服器上已經安裝好node

npm

安裝PM2

npm install pm2 -g

啟動應用

pm2 start app.js

PM2使用命令

  • pm2 list檢視所有執行中的應用
  • pm2 show <name|id>檢視指定應用的詳細資訊
  • pm2 stop <name|id>停止指定的應用
  • pm2 restart <name|id>重啟指定應用
  • pm2 delete <name|id>刪除指定的應用

Nginx

由於某種原因,應用並不能直接部署在80埠上,而是部署在其他埠,然後通過Nginx將部署的埠轉發到80埠

安裝Nginx

sudo
apt-get install nginx

安裝完後可以在瀏覽器裡直接使用localhost訪問

修改Nginx配置檔案實現埠轉發,配置檔案預設是/etc/nginx/nginx.conf

在http里加入如下內容

server {
    listen  80;
    server_name localhost;

    location / {
        proxy_pass  http://127.0.0.1:3000;
    }
}

修改完成後執行sudo nginx -s reload過載配置檔案

然後再次用瀏覽器訪問localhost發現開啟的已經是3000埠的應用了

一些Nginx命令

  • 過載配置檔案:sudo nginx -s reload
  • 快速停止:sudo nginx -s stop
  • 優雅的停止:sudo nginx -s quit
  • 重新開啟日誌:sudo nginx -s reopen
  • 啟動Nginx:service nginx start
  • 停止Nginx:service nginx stop
  • 重啟Nginx:service nginx restart
  • 過載配置:service nginx reload

參考連結