Linux伺服器上快速部署Node.js應用
阿新 • • 發佈:2019-01-31
前言
部署需要用到pm2
,nginx
,pm2
是一個帶有負載均衡功能的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